使用另一个表值更新一个表记录

时间:2013-03-06 19:37:24

标签: mysql sql

我有两个表,一个包含作者姓名及其联系地址,另一个包括作者姓名及其ID。

两个表中的作者姓名具有相同的值,我想从一个表中获取ID并更新名称相同的另一个表。

我尝试过这个查询,我相信它在T-SQL中工作(子查询也适用于MySQL),但它在MySQL中不起作用:

UPDATE authors
set ID = (select b.ID from authors a, authorsID b 
where trim(a.name)=trim(b.name));

你能告诉我如何做这项工作吗?感谢。

2 个答案:

答案 0 :(得分:3)

UPDATE authors a
inner join authorsID b on trim(a.name) = trim(b.name)
set a.ID = b.ID

答案 1 :(得分:0)

查询:

UPDATE authors
SET ID = (SELECT b.ID 
          FROM authorsID b
          WHERE trim(authors.name)=trim(b.name))