car*_*ado 0 mysql sql sql-update
我有两个表,tableA和tableB,tableA是电话主记录,tableB包含tableA的电话记录中最后一次转换的更新状态.我想为tableB.status ='ERROR'中的所有记录更新值tableA.active到b'0'.
这是我附带的MySQL语句,但是给了我错误(错误代码:1242.子查询返回超过1行)
UPDATE tableA set tableA.active = b'0'
where
tableA.phone =
(Select phone from tableB where tableB.status='ERROR');
Run Code Online (Sandbox Code Playgroud)
=正如错误所说,不能只匹配一行.你可以IN改用:
UPDATE tableA set tableA.active = b'0'
where
tableA.phone IN
(Select phone from tableB where tableB.status='ERROR');
Run Code Online (Sandbox Code Playgroud)