在更新查询MYSQL中设置select值

时间:2015-08-10 16:45:16

标签: mysql sql

如何在更新查询中使用select的结果?例如:

 Update access_rights 
 set rfidcode=(Select rfidcode from users where name like 'thomas')
 where id_access_rights=3;

这不起作用。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

Update access_rights a, users u
set a.rfidcode = u.rfidcode  
where a.userid = u.userid --change this to appropriate join column
and u.name like '%thomas%'
and a.id_access_rights=3;

答案 1 :(得分:1)

假设您要更新单个记录,您的选择查询需要返回单个结果。使用limit关键字。

Pull.t

vkp解决方案,如果您想要更新许多相关记录但是您必须查看您的联接,否则您将收到错误,或者更糟糕地损坏您的数据