2

2つのテーブルがあります。最初にid(AI)フィールドとold_id(Int)フィールドがあります。2番目のテーブルには、最初のテーブルold_idからの参照フィールドp_idがリレーションポイントとしてあります。

p_idをfirstTable.idの値に更新したいと思います。firstTable.idから返された値でsecondTable.p_idを更新することは可能ですか?

これが私のテストSQLです:

UPDATE secondTable sT 
SET sT.p_id = (
    SELECT fT.id 
    FROM firstTable fT 
    WHERE fT.old_id = secondTable.p_id
)
4

1 に答える 1

2

JOIN次のように更新できます。

UPDATE secondTable sT 
INNER JOIN firstTable fT ON fT.old_id=secondTable.p_id
SET sT.p_id = fT.id;
于 2013-02-27T12:48:51.887 に答える