2013-05-01 165 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