使用另一个表中的数据更新mysql表

是否有可能使用子select在MySQL 5.0上运行UPDATE命令。

我想运行的命令是这样的:

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

目前,ISBN13存储为一个string。

这应该是更新10K +行。

谢谢,

威廉

只是一个小改变,你明白了:

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

从其他表格中的数据更新表格

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;

从其他表更新数据

 UPDATE tab t1 SET t1.company_name = t2.company_name FROM tab t2 WHERE t1.id = t2.id