尝试删除行时出现MySQL语法错误

时间:2016-07-22 00:57:44

标签: mysql

我有一个简单的数据库查询,由于某种原因我无法弄清楚。

DELETE * FROM Wishlist WHERE (id, uid) VALUES ("18","34i274o1y24ouy1o4");

这通常可能只是错误的语法。在数据库方面,我的技能非常低。有任何想法吗?只是想删除一行。

提前致谢!

4 个答案:

答案 0 :(得分:2)

您似乎尝试使用INSERT语法进行删除。如果你想删除你给出的标准的记录,试试这个:

DELETE
FROM Wishlist
WHERE id = '18' AND uid = '34i274o1y24ouy1o4'

答案 1 :(得分:1)

您应该使用IN

DELETE FROM Wishlist WHERE (id, uid) IN ('18','34i274o1y24ouy1o4');

或者只使用AND

DELETE FROM Wishlist WHERE id = '18' AND uid = '34i274o1y24ouy1o4';

答案 2 :(得分:1)

除了使用IN关键字的其他答案,
DELETE FROM Wishlist where id='18' and uid = '34i274o1y24ouy1o4'也有效 请注意,在DELETE操作中不需要星号。

如果ID是主键,则where id = '18'没有 uid 就足够了。
此外,您可能需要考虑将id设置为INT类型的自动增量列。查询速度更快,您可以删除where id = 18之类的引号。

答案 3 :(得分:1)

DELETE FROM Wishlist WHERE id = '18' AND uid = '34i274o1y24ouy1o4';