0

こんにちは、2 つのテーブルの列を更新したいと考えています。

例: abcxyz. abcテーブルにはidfnamelastname、というフィールドが含まれていますstatus。また、テーブルには、およびxyzが含まれています。今私が欲しいのは、単一のクエリを使用して列のステータスを更新することです。idx_idstatusabcstatusxyz

このクエリを試してみましたが、うまくいきません。

UPDATE abc a1 
JOIN xyz x1 ON a1.id = x1.x_id 
SET a1.status = "D" , 
    x1.status = "delete" 
WHERE a1.id = 15 AND x1.x_id = 15;  

ありがとう。

4

2 に答える 2

0

3つのテーブル用に編集:

UPDATE a1,x1,s1 
SET a1.status = "D" , 
x1.status = "delte",
s1.status = "D" 
WHERE a1.id = x1.x_id
AND a1.id = s1.s_id 
AND a1.id = 15;
于 2013-02-15T07:59:01.987 に答える
0

mysql サーバーが SQL を使用して単一のクエリで 2 つのテーブルを更新できない場合。LOCK TABLES コマンドを使用して、競合状態を回避できます。

LOCK TABLES abc WRITE, xyz WRITE;
update abc set status = "D"  where id = 15;
update xyz set status = "delete"  where x_id = 15;
UNLOCK TABLES;

よろしく、 オマール

于 2013-02-15T08:03:59.577 に答える