$query = "SELECT loved FROM users WHERE uid=:quitter";
$query = "UPDATE users SET status='0', loved=NULL, beloved_count='0' WHERE uid=:deceased";
$query = "UPDATE users SET beloved_count=beloved_count-1 WHERE uid=:lover";
私のコードからは明確ではないかもしれないので、何が起こっているのかを以下に示します:
ユーザー 123 が終了します。
1) 123 が「愛した」人を見つける2) 123 の行を更新する
(status='0' を設定するなど)
3) 「愛された」ユーザーの行を更新し、「beloved_count」を 1 減らす
これはすべて 1 つのテーブル内で行われます。これは 1 つのクエリで発生する可能性がありますか? 理想的には、1 つのクエリで実行したいのですが、3 つの個別のクエリを使用するよりも 2 つでも良いでしょう。
私はJOIN
s を見てきましたが、以前に使用したことがないため、単純にわかりません。クエリの組み合わせの例を見てきましたが、これを反映するものはありません。PHP 5.4 と PDO を使用しています。
何かのようなもの:
$query = "UPDATE users SET status='0', loved=NULL, beloved_count='0' WHERE uid=:deceased;
UPDATE users SET beloved_count=beloved_count-1 WHERE uid=:lover;";