ホームページ >データベース >mysql チュートリアル >MySQL エラーを解決する方法: 「FROM 句で更新のターゲット テーブルを指定できません」
MySQL エラーのトラブルシューティング: 「FROM 句で更新のターゲット テーブルを指定できません」
この一般的な MySQL エラーは、UPDATE
ステートメントに更新中の同じテーブルを参照するサブクエリが含まれている場合に発生します。 この慣行に対する MySQL の制限は、内部処理の制限に起因しています。
この解決策には、かっこを使用して内部クエリ内のテーブル参照をカプセル化することが含まれます。 これにより、更新操作用に一時的な独立したデータセットが作成されます。 次の例を考えてみましょう:
<code class="language-sql">UPDATE myTable SET myTable.A = (SELECT B FROM (SELECT * FROM myTable) AS subquery)</code>
ここで、内部クエリの myTable
は subquery
としてエイリアスされており、メインの UPDATE
ステートメントから効果的に分離されています。 次に、MySQL はこのサブクエリの結果セットを使用して更新を実行します。
最適なパフォーマンスを得るには、内部クエリ内で必要な列のみを選択し、更新された行を調整するために常に WHERE
句を含めます。 これにより、テーブル全体の不要な処理が防止されます。
以上がMySQL エラーを解決する方法: 「FROM 句で更新のターゲット テーブルを指定できません」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。