40

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

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

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

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

これにより、10,000行以上が更新されます。

ありがとう、

ウィリアム

4

5 に答える 5

186
UPDATE table1 t1, table2 t2
SET t1.field_to_change = t2.field_with_data
WHERE t1.field1 = t2.field2;
于 2012-03-09T14:50:22.360 に答える
23
UPDATE book_details AS bd, book_details_old AS old
SET bd.live=1  
WHERE bd.isbn13=old.isbn13  
AND old.live=1;
于 2009-01-05T23:04:10.630 に答える
17

ほんの少しの変更で、あなたはそれを手に入れました:

UPDATE book_details
SET live = 1 
WHERE ISBN13 in (SELECT ISBN13 FROM book_details_old WHERE live = 1);
于 2009-01-05T23:11:44.500 に答える
3

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

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

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

于 2013-03-11T01:51:43.843 に答える
-4

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

UPDATE  tab t1, tab t2
SET     t1.company_name = t2.company_name
WHERE   t1.id = t2.id
于 2012-10-03T06:44:09.743 に答える