mysql 查询出多条数据并更新其中一个字段值,不让更新怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 查询出多条数据并更新其中一个字段值,不让更新怎么办相关的知识,希望对你有一定的参考价值。

要更新语句:UPDATE tb_repair_basic SET tb_repair_basic.visitStatus = '5' WHERE tb_repair_basic.id IN(
SELECT basic.id FROM tb_repair_mobileinfor mobileinfor, tb_repair_basic basic
WHERE (mobileinfor.career IS NULL OR mobileinfor.career = '') AND basic.customerName !='' AND basic.visitStatus= '2' AND mobileinfor.rbId = basic.id
)

先执行这个语句:
SELECT basic.id FROM tb_repair_mobileinfor mobileinfor, tb_repair_basic basic
WHERE (mobileinfor.career IS NULL OR mobileinfor.career = '') AND basic.customerName !='' AND basic.visitStatus= '2' AND mobileinfor.rbId = basic.id
结果:

合起来执行就报错:[Err] 1093 - You can't specify target table 'tb_repair_basic' for update in FROM clause

UPDATE tb_repair_basic SET tb_repair_basic.visitStatus = '5' WHERE tb_repair_basic.id IN(
SELECT mobileinfor.rbId FROM tb_repair_mobileinfor mobileinfor
WHERE (mobileinfor.career IS NULL OR mobileinfor.career = '')
) and tb_repair_basic.customerName !='' and tb_repair_basic.visitStatus= '2'
不能对同一个表tb_repair_basic 同时select和update
参考技术A 你先只更新一个试试!

以上是关于mysql 查询出多条数据并更新其中一个字段值,不让更新怎么办的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据库!在线浏览表中内容,同时修改多条内容并更新至数据库

mysql关联表分组查询多条数据

mysql 批量更新与批量更新多条记录的不同值实现方法

mysql 批量更新与批量更新多条记录的不同值实现方法

MySQL-添加更新与删除数据

MYSQL如何判断如果某字段有重复就取其中一条?