Mysql删除同一张表的子查询语句
2014-12-09 18:07
465 查看
DELETE
FROM
TBL_NODE
WHERE
parent_node_id IN
(
SELECT
node_id
FROM
tbl_node
WHERE
parent_node_id =12345)
原来的语句如上,在mysql执行会报错如下!
[DELETE - 0 row(s), 0.000 secs] [Error Code: 1093, SQL State: HY000] You can't specify target table 'TBL_NODE' for update in FROM clause
Code: 1093 SQL State: HY000 --- You can't specify target table 'TBL_NODE' for update in FROM clause
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]
mysql不支持这种删除。修改为如下即可:
FROM
TBL_NODE
WHERE
parent_node_id IN
(
SELECT
node_id
FROM
tbl_node
WHERE
parent_node_id =12345)
原来的语句如上,在mysql执行会报错如下!
[DELETE - 0 row(s), 0.000 secs] [Error Code: 1093, SQL State: HY000] You can't specify target table 'TBL_NODE' for update in FROM clause
Code: 1093 SQL State: HY000 --- You can't specify target table 'TBL_NODE' for update in FROM clause
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]
mysql不支持这种删除。修改为如下即可:
DELETE FROM TBL_NODE WHERE parent_node_id IN ( SELECT * FROM ( SELECT node_id FROM tbl_node WHERE parent_node_id = 12345 ) AS temp )
相关文章推荐
- mysql删除,插入,查询等语句的总结
- Mysql增加、删除和修改列属性和约束,和一些有用的查询语句
- JAVA连接MYSQL,查询 ,添加,删除,语句
- 关于mysql删除语句的子查询问题
- mysql 常用 插入,修改,删除,查询语句
- Mysql一些复杂的sql语句(查询与删除重复的行)
- JAVA连接MYSQL,查询 ,添加,删除,语句
- JAVA连接MYSQL,查询 ,添加,删除,语句
- [置顶] 【mysql 增删改查】MySql数据库的查询、删除、增加、修改语句
- mysql创建数据库,创建数据库表导入xlsx、txt文本,查询、删除、插入数据语句的使用
- mysql删除重复记录语句的方法 作者: 字体:[增加 减小] 类型:转载 时间:2010-06-21 我要评论 查询及删除重复记录的SQL语句,虽然有点乱,但内容还是不错的。 . .
- Mysql update语句赋值嵌套select,更新和查询同一张表,必须取别名;用例:更新指定游戏服务器最后启动记录的结束时间
- JAVA连接MYSQL,使用PreparedStatement 写查询,修改,添加,删除,语句
- mysql语句从一个表中查询出数据,再插入到另一张表中(表字段不一样)
- JAVA连接MYSQL,查询 ,添加,删除,语句
- 9、步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- 按时间段查询MYSQL语句
- 找出Mysql查询速度慢的SQL语句
- 用一条SQL语句查询一张表得到不同条件的多个结果
- MySQL查询及删除重复记录的方法