2

「ac_pms」テーブルから個人メッセージ (PM) を選択する次のクエリがあります。追加情報は、他のテーブルから取得しています - 「ac_accounts」を使用してLEFT JOINいます。" " 表には、PM を読み取るかどうかを定義するpm_read" " 列があります。PM を選択するときにac_pms、そのフィールド ( pm_read) を " " に設定する必要があります。1

SELECT p.*, a.seller_id, a.winner_id 
FROM `ac_pms` AS p 
LEFT JOIN `ac_accounts` AS a ON p.pm_for_lot = a.id 
WHERE (p.pm_from=[user_id] OR p.pm_to=[user_id]) 
  AND p.pm_for_lot=[account_id] 
ORDER BY p.pm_date DESC;

UPDATE式を挿入する場所が想像できませんSET pm_read = 1

4

1 に答える 1

1

同じ SQL ステートメントで使用SELECTすることはできません。UPDATE

UPDATEただし、次のようにできますJOIN

UPDATE ac_pms AS p 
LEFT JOIN ac_accounts AS a ON p.pm_for_lot = a.id 
SET p.pm_read = 1
WHERE (p.pm_from=[user_id] OR p.pm_to=[user_id]) 
  AND p.pm_for_lot = [account_id];

その後、別のものを作成できますSELECT

于 2013-01-10T14:09:30.660 に答える