Update mysql table with data from another table

2019-01-16 14:22发布

问题:

Is it possible to run an UPDATE command on mysql 5.0 with a sub select.

The command I would like to run is this:

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

ISBN13 is currently stored as a string.

This should be updating 10k+ rows.

Thanks,

William

回答1:

Just a litle change and you got it:

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


回答2:

UPDATE table1 t1, table2 t2
SET t1.field_to_change = t2.field_with_data
WHERE t1.field1 = t2.field2;


回答3:

UPDATE book_details AS bd, book_details_old AS old
SET bd.live=1  
WHERE bd.isbn13=old.isbn13  
AND old.live=1;


回答4:

To update a table from data in other table

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;



回答5:

To Update data From Other Table

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