이 구문에 대한 적절한 구문을 사용하여 머리를 감쌀 수 없습니다. 다음은 내 하위 쿼리에 대한 간단한 영어 설명과 함께 내 쿼리를 실행하는 곳에서 생각하고있는 곳입니다.MySQL INSERT/SELECT 하위 쿼리 구문
mysql_query("INSERT INTO donations(
tid,
email,
amount,
ogrequest,
total
)
VALUES (
'".esc($p->ipn_data['txn_id'])."',
'".esc($p->ipn_data['pay_email'])."',
".(float)$amount.",
'".esc(http_build_query($_POST))."',
Here I want to select the row with the max date, get the value of the "total" column in that row, and add $amount to that value to form the new "total" for my newly inserted row.
)");
누구든지 도움을 줄 수 있습니까?
네가 맞아. 내가 그것을하고있는 유일한 이유는 자주 액세스해야하기 때문에 SUM을 계속해서 여러 번 계산하는 오버 헤드에 대해 궁금해하고있었습니다. 나는 모든 행을 거치지 않고 대신 마지막 행에서 단일 값을 얻을 수 있다는 것을 알았습니다. 그러면 DB에 덜 부담이 될 것입니다. 캐싱에 어떤 기술을 권하고 싶습니까? – Jon
MySQL을 캐쉬 할 가능성이 있기 때문에 이것을 캐쉬 할 필요는 거의 없습니다. 대형 응용 프로그램에서이 작업을 수행하는 일반적인 방법은 memcached (http : // memcached)와 같은 것을 사용하는 것입니다.org /). 그러나 이것을 배울 필요가 없다면 기부 테이블의 트리거를 통해 업데이트되는 다른 mysql 테이블에 값을 저장하는 것으로 벗어날 수 있습니다. – schizodactyl
나는이 길로 갈거야. 조언을 주셔서 감사합니다, 그리고 다른 사람들의 답변을 ... 그들은 많이 감사합니다. – Jon