mysql - 删除 ID 最小的帖子 SQL

标签 mysql sql select

Delete from post 
where id_post 
in 
( 
    select MIN(id_post)
    from post
    where id_owner='2'
)

返回: “您不能在 FROM 子句中指定要更新的目标表‘post’”

我做错了什么?

最佳答案

问题是 MySQL,如果你在表上执行更新/插入/删除,你不能在内部查询中引用该表(但是你可以引用外部表中的字段...)

解决方法是将子查询中post的实例替换为(select MIN(id_post) 从邮寄 其中 id_owner='2' ),像这样

Delete from post 
where id_post 
in 
( 
    select id_post 
    from (select MIN(id_post)
    from post
    where id_owner='2') as A
)

关于mysql - 删除 ID 最小的帖子 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42832235/

相关文章:

java - 从 Java 创建 MySQL 数据库

javascript - 如何为 "type"测验创建 MySQL 数据库

linux - 如何排除第一列和第二列具有相同值的行?

sql - 为什么这个查询在转换 to_date 时不会失败

javascript - 将数据从 PHP(mysql) 传递到 AngularJS 时没有数据

mysql - docker mysql容器启动后退出

使用表 2 值添加到表 1 时出现 PHP SQL 语法错误

MySQL where if 语句

sql - 如何使用 R 中其他数据帧的列查询数据帧

一行一对多的mysql