我针对最近遇到的错误整理了一个测试表。尝试从MySQL表中删除单个记录时,它涉及使用LIMIT。
我所说的错误是“ 您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以找到在第1行的’LIMIT 1’附近使用的正确语法 ”
我整理的桌子叫做 测试 ; 它有3列, id , name 和 created 。我用几条记录填充了表,然后尝试删除一条。以下是我用来尝试完成此操作的语句。
DELETE t FROM test t WHERE t.name = 'foo' LIMIT 1
如果不使用LIMIT 1,则该语句执行得很好,但是如果不需要它,我当然不会使用LIMIT。
我完全知道,我可以使用另一条语句成功完成此DELETE。见下文: DELETE FROM test WHERE name = 'foo' LIMIT 1
DELETE FROM test WHERE name = 'foo' LIMIT 1
但是我的问题集中在为什么第一个语句不能与LIMIT一起使用。
所以我的问题是,对于产生此错误的第一条语句,我做错了什么?
删除查询仅允许在DELETE“命令”之后使用修饰符,以告知数据库处理内容的方式。
看到这个页面