前に書かれているのは、私は「海への航海」で、このニックネームは私の名前と彼女の名前に由来しています。テクノロジー、オープンソース、プログラミングが大好きです。
技术是开源的、知识是共享的
。
このブログはあなた自身の学習の小さな要約と記録ですJavaとアルゴリズムに興味があるなら、あなたは私のダイナミクスをフォローすることができ、私たちは一緒に学びます。
用知识改变命运,让我们的家人过上更好的生活
。
MySQLは開発中にこのようなエラーに遭遇しました1093 - You can’t specify target table 'person' for update in FROM clause
。以下では、分析の例としてLikouのトピックを取り上げます。
1.主題の出典
+----+------------------+
| 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 |
+----+------------------+
ヒント:
- SQLを実行すると、出力はPersonテーブル全体になります。
- deleteステートメントを使用します。
出典:LeetCode
リンク:https ://leetcode-cn.com/problems/delete-duplicate-emails
著作権はLeetCode が所有しています。商用転載については、正式な許可書にご連絡ください。非商用転載については、出典を明記してください。
2、エラー分析
これは、MySQLではテーブルの更新と削除を同時に行うことができないためです。つまり、クエリの結果に基づいて変更または削除することはできません。
3、解決策
使用中间表将查询结果再次SELECT即可避免这个报错。
記事が少し役に立ったと思われる場合は、WeChatで「程序猿编程
」を検索して初めて読んでください。
レンガを動かす道で、私たちは一緒に頑張って、両手で私たちの未来をノックアウトします!
レベルが限られているため、必然的にこのブログには不十分な点があります。