2013-05-01 105 views
0

我有一个奇怪的错误出现在我的删除查询。我有两张桌子,一张桌子上有菜单。另一个保存将另一个表中的活动ID映射到菜单ID的映射信息。MySQL删除加入错误

我有以下查询:

SELECT m.* 
FROM tbl_menus m 
INNER JOIN tbl_activity_menus am 
    ON m.uid = am.link_id 
WHERE am.activity_id=13 
LIMIT 1 

这工作完全正常。它得到我想要的记录。

然而,将其更改为删除查询

DELETE m.* 
FROM tbl_menus m 
INNER JOIN tbl_activity_menus am 
    ON m.uid = am.link_id 
WHERE am.activity_id=13 
LIMIT 1 

它有出现:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1'

任何想法,为什么它不按预期工作?

回答

1

只需使用

DELETE m.* 
FROM tbl_menus m 
INNER JOIN tbl_activity_menus am 
    ON m.uid = am.link_id 
WHERE am.activity_id=13 
+0

该查询现在'你在你的SQL语法错误出现;检查与您的MySQL服务器版本相对应的手册,以在'INNER JOIN tbl_activity_menus am ON m.uid = am.link_id WHERE am.activity_id'附近使用正确的语法' – 2013-05-01 09:21:35

+0

@PhilCross,更新了答案,添加了m。* back并删除了LIMIT关键字。 – 2013-05-01 09:26:19

+0

对不起,错过了您从查询中删除了限制条款的事实。这现在按预期工作。非常感谢你的帮助,将在4分钟内接受答案(当它允许我!) – 2013-05-01 09:27:10