0
このクエリで何が問題になっていますか?フィールドが等しくない場合、mysqlは別のテーブルから更新します
update TA,TB
set TA.change = 1,TA.value = TB.value
where
TA.name = TB.name and TA.value <> TB.value
私はTB
このクエリで何が問題になっていますか?フィールドが等しくない場合、mysqlは別のテーブルから更新します
update TA,TB
set TA.change = 1,TA.value = TB.value
where
TA.name = TB.name and TA.value <> TB.value
私はTB
の値の変更があなたのクエリが大丈夫であるとき、TBからTAを更新します。私は、明示的なjoin
でそれを記述します。
update TA join
TB
on TA.name = TB.name
set TA.change = 1,
TA.value = TB.value
where TA.value <> TB.value;
あなたのアカウントにNULL
値を取る必要があるかもしれません:
update TA join
TB
on TA.name = TB.name
set TA.change = 1,
TA.value = TB.value
where not (TA.value <=> TB.value);
ありがとうございますが、 "on"のためにエラーが発生しています。 – Ali
あなたが持っている問題は何ですか? –
名前はuniqeであり、値はNULLではありません。 同じ名前と異なる値を持つ行を更新したいのですが、クエリは実行しません – Ali