我为最近遇到的错误放了一个测试表。它涉及在尝试从MySQL表中删除单个记录时使用LIMIT。DELETE语句上的MySQL LIMIT
我说的错误是“您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的‘LIMIT 1’在行正确的语法手册1”
把我放在一起的表称为测试;它有3列,id,名称和创建。我用几条记录填充表格,然后尝试删除一条记录。以下是我用来试图完成这一点的陈述。
DELETE t FROM test t WHERE t.name = 'foo' LIMIT 1
不使用LIMIT 1的,则执行该语句就好了,当然,如果没有需要它,我不会使用限制。
我完全知道我可以使用其他语句来成功完成此DELETE。见下: DELETE FROM test WHERE name = 'foo' LIMIT 1
但是我的问题集中在为什么第一个声明不与LIMIT工作。
所以我的问题是,我做了错误的关于第一个语句产生这个错误?
“但是,您不能在多表DELETE中使用ORDER BY或LIMIT”。 这似乎回答我的问题。 – Andre 2011-05-24 15:06:13
是的 - 抱歉没有从OP读取,但你怎么说从关节删除是正确的 – 2011-05-24 15:17:03