これは正しい構文で頭を囲むことができません。以下は私のサブクエリについての簡単な英語の説明で、私はそれを実行したいと思う場所で私のクエリです。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