2016-07-22 152 views
0

我有一個簡單的數據庫查詢,由於某些原因我找不出來。嘗試刪除行時出現MySQL語法錯誤

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

這可能是一般只是錯誤的語法。談到數據庫時,我的技能很低。有任何想法嗎?試圖刪除一行。

在此先感謝!

回答

2

它看起來像你試圖使用INSERT語法做了刪除。如果你想刪除的記錄與標準,你給試試這個:

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

'DELETE * FROM收藏WHERE ID = 「18」 和uid = 「34i274o1y24ouy1o4」;'拋出一個語法錯誤 – Josh

+0

什麼錯誤?我只是改變了使用單引號,但這不應該。 –

+0

'錯誤:ER_PARSE_ERROR:您的SQL語法中有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第1行'* FROM Wishlist WHERE id =「18」AND uid =「34i274o1y24ouy1o4」'附近使用正確的語法' – Josh

1

你應該使用IN

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

或者只是使用AND

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

除了使用IN關鍵字其他的答案,
DELETE FROM Wishlist where id='18' and uid = '34i274o1y24ouy1o4'也適用。
請注意,在DELETE操作中不需要星號。

如果id是主鍵,where id = '18'沒有uid應該足夠了。
另外,您可能需要考慮使用INT類型將id設置爲自動增量列。查詢速度更快,您可以擺脫where id = 18等引號。

1
DELETE FROM Wishlist WHERE id = '18' AND uid = '34i274o1y24ouy1o4'; 
相關問題