我爲最近遇到的錯誤放了一個測試表。它涉及在嘗試從MySQL表中刪除單個記錄時使用LIMIT。DELETE語句上的MySQL LIMIT
我說的錯誤是「您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的‘LIMIT 1’在行正確的語法手冊1」
把我放在一起的表稱爲測試;它有3列,id,名稱和創建。我用幾條記錄填充表格,然後嘗試刪除一條記錄。以下是我用來試圖完成這一點的陳述。
DELETE t FROM test t WHERE t.name = 'foo' LIMIT 1
不使用LIMIT 1的,則執行該語句就好了,當然,如果沒有需要它,我不會使用限制。
我完全知道我可以使用其他語句來成功完成此DELETE。見下: DELETE FROM test WHERE name = 'foo' LIMIT 1
但是我的問題集中在爲什麼第一個聲明不與LIMIT工作。
所以我的問題是,我做了錯誤的關於第一個語句產生這個錯誤?
「但是,您不能在多表DELETE中使用ORDER BY或LIMIT」。 這似乎回答我的問題。 – Andre 2011-05-24 15:06:13
是的 - 抱歉沒有從OP讀取,但你怎麼說從關節刪除是正確的 – 2011-05-24 15:17:03