针对不同的情况,我们可以采取不同的解决方法:2.1. 使用含有子查询的 UPDATE 语句进行数据更新 当您需要使用含有子查询的 UPDATE 语句进行数据更新时,MySQL 数据库会提示 1093 错误。处理该错误的有效方法是在 UPDATE 语句中使用 JOINS 子句。例如,将下面的 UPDATE 语句:UPDATE `table1` SET `colu...
1. 查询全部重复的数据 2. 删除全部重复试题 将上面的查询select改为delete(这样会出错的)会出现如下错误:[Err] 1093 - You can't specify target table 'dept' for update in FROM clause 原因是:更新这个表的同时又查询了这个表,查询这个表的同时又去更新了这个表,可以理解为死锁。mysql不...
delete a from test_2 a where exists(select * from test_2 where a.id=id and a.value
要从表中删除所有重复的记录,尝试直接将`SELECT`语句改为`DELETE`,但会遇到`[Err] 1093 - You can't specify target table 'dept' for update in FROM clause`的错误。这是因同时更新和查询同一表导致死锁。解决方法是创建一个第三方表来存储要更新的数据,然后筛选出需要更新的记录。使用`GROUP ...
name IN (SELECT name FROM 数据表 GROUP BY name HAVING COUNT(1) > 1)AND id NOT IN (SELECT MIN(id)FROM 数据表 GROUP BY name HAVING COUNT(1) > 1);参考资料:http://hi.baidu.com/wangzhiqing999/blog/item/e90c4012ae8b5d0c962b4357.html ...