web-dev-qa-db-ja.com

mysqlテーブルを別のテーブルのデータで更新する

サブセレクトを使用してmysql 5.0でUPDATEコマンドを実行することは可能ですか?.

実行したいコマンドは次のとおりです。

UPDATE book_details
SET live = 1 
WHERE ISBN13 = '(SELECT ISBN13 FROM book_details_old WHERE live = 1)';

ISBN13は現在、文字列として保存されています。

これにより、1万行以上が更新されます。

おかげで、

ウィリアム

38

ほんの少しの変更とあなたはそれを得た:

UPDATE book_details
SET live = 1 
WHERE ISBN13 in (SELECT ISBN13 FROM book_details_old WHERE live = 1);
17
Ricardo Acras
UPDATE table1 t1, table2 t2
SET t1.field_to_change = t2.field_with_data
WHERE t1.field1 = t2.field2;
180
MCurbelo
UPDATE book_details AS bd, book_details_old AS old
SET bd.live=1  
WHERE bd.isbn13=old.isbn13  
AND old.live=1;
22
Rob

他のテーブルのデータからテーブルを更新するには

UPDATE table1, table2 SET table1.field1 = table2.field1 where table1.id = table2.id

EX .UPDATE transaction, member SET transaction.Memberid = member.memberId WHERE transaction.CardId = member.CardId;

3
luxknight_007