mysql – 删除ID最低的记录

当我在MySQL中键入此查询时:DELETE FROM myTable WHERE ID = ( SELECT Min( ID ) FROM myTable ) 我收到以下错误消息:#1093 – You cant specify target table myTable for update in FROM clause 问题是什么 ?什么是正确的等

当我在MySQL中键入此查询时:

DELETE FROM myTable WHERE ID = ( SELECT Min( ID ) FROM myTable )

我收到以下错误消息:

#1093 - You can't specify target table 'myTable' for update in FROM clause

问题是什么 ?

什么是正确的等价物?

最佳答案
基本上在MySQL中,您无法对在SELECT部分中使用的表进行更新.有关详细信息,您可以检查以下文档中记录的此行为:http://dev.mysql.com/doc/refman/5.6/en/update.html

从理论上讲,每个DELETE都是一个UPDATE,这就是你得到这个错误的原因.

你可以简单地做以下事情:

DELETE FROM myTable 
ORDER BY my_id
LIMIT 1;

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部