寫在前面: 我是 「揚帆向海」,這個暱稱來源於我的名字以及女朋友的名字。我熱愛技術、熱愛開源、熱愛程式設計。
技術是開源的、知識是共用的
。
這部落格是對自己學習的一點點總結及記錄,如果您對 Java、演演算法 感興趣,可以關注我的動態,我們一起學習。
用知識改變命運,讓我們的家人過上更好的生活
。
在開發中MySQL遇到了這樣的一個錯誤 1093 - You can’t specify target table 'person' for update in FROM clause
,下面我就以力扣的一道題目為例進行分析。
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
+----+------------------+
例如,在執行你的查詢語句之後,上面的 Person 表應返回以下幾行:
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
+----+------------------+
提示:
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/delete-duplicate-emails
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
這是因為MySQL不允許同時更新和刪除一張表,也就是你不能以一個查詢的結果為條件 進行修改或刪除
使用中間表將查詢結果再次SELECT即可避免這個報錯。
如果覺得文章對你有點幫助,請微信搜尋「 程式猿程式設計
」第一時間閱讀!
搬磚的道路上我們一起努力,用雙手敲出我們的未來!
由於水平有限,本部落格難免有不足,懇請各位大佬不吝賜教!