mysql - 错误代码 : 1093. 您无法在 FROM 子句中指定目标表 'tbl1' 进行更新(删除查询)

标签 mysql

<分区>

尝试删除某些条件下的记录,但 MySQL 抛出错误: 错误代码:1093

delete from tbl1
where date(cast(traptime as datetime))< date_sub(current_date, interval 200  day) and 
id not in (select max(id) as id from tbl1 group by device_name);

最佳答案

试试这个:

DELETE FROM tbl1
WHERE id NOT IN (
    SELECT id FROM (
        select max(id) as id from tbl1 group by device_name
    ) AS c
)
and date(cast(traptime as datetime))< date_sub(current_date, interval 200  day)

关于mysql - 错误代码 : 1093. 您无法在 FROM 子句中指定目标表 'tbl1' 进行更新(删除查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34676841/

相关文章:

PHP/MYSQL/MVC如何获取当前登录用户名

mysql - mysql中max函数的问题

sql - 如何在不指定列名的情况下使用 AUTO_INCREMENT 列向数据库中插入新行?

php - 查询在 MYSql QUERY php 中不起作用

mysql - 与 InnoDB 表的 PDO 事务

Java Hibernate 与数据库的连接几分钟后超时

PHP:表单选择框不会将更改的选择写入数据库

c# - 在 ASP.Net 中使用 AJAX PageMethods 从数据库实现 jQuery AutoComplete TextBox

php - 过滤用户输入

mysql - 如何在现有列中添加前导零?