構造が同一の 2 つのテーブルがあります。Table1
モデレートされたデータをtable2
保持し、まだモデレートされていないデータを保持します。
表1
+-----+----------+-----------------+--------+--- ------+----------+ | | "ID" | "名前" | "説明" | "タイプ" | "国" | "ステータス" | +-----+----------+-----------------+--------+--- ------+----------+ | | "1" | 「タイトル1」 | "説明 1" | "1" | "米国" | "0" | | | "2" | 「タイトル2」 | "説明 2" | "1" | "イギリス" | "0" | +-----+----------+-----------------+--------+--- ------+----------+
表 2
+-----+----------+-----------------+--------+--- ------+----------+ | | "ID" | "名前" | "説明" | "タイプ" | "国" | "ステータス" | +-----+----------+-----------------+--------+--- ------+----------+ | | "1" | 「タイトル1」 | "説明 1" | "1" | "米国" | "2" | | | "2" | 「タイトル2」 | "説明 2" | "1" | "イギリス" | "2" | +-----+----------+-----------------+--------+--- ------+----------+
status
単一の SQL を使用して両方のテーブルの列を更新しようとしています。実際には、モデレーターはtable2
、それが彼が使用できるテーブルであるため、更新のみを行います。
2table2
つが更新さtable1
れると、同時に更新できますか? 単一のSQLを使用していますか? 現在、これには2つの異なる従来のSQLステートメントを使用しています。
今、私はこのようにしています:
UPDATE table2 set status = 0 where id = spid and country = spcountry;//Update table2 first
UPDATE table1 a
INNER JOIN table2 b
ON a.id = b.id and a.country = b.country
SET a.status = b.status
WHERE a.id=spid;
やりたいこと:例
$status = 0;//php
update table1, table2 set status = $status where id=1 and conuntry = 'us' in table1 and table2.//The id and country need to be the same in both tables.