ホームページ >データベース >mysql チュートリアル >MySQL エラー 1093: FROM 句で更新のターゲット テーブルを指定できませんを解決するにはどうすればよいですか?
MySQL エラー 1093: FROM 句のテーブル更新の制限について
MySQL エラー「ターゲット テーブル 'table_name を指定できません」 ' FROM 句の更新用」は、テーブル自体の SELECT ステートメント内からテーブルを変更しようとすると発生します。この制限は、MySQL が同じ操作でテーブルの更新と参照を同時に実行できないことに起因します。
エラーへの対処
この問題を解決するには、次のアプローチを検討してください。
UPDATE story_category a INNER JOIN story_category b ON a.category_id = b.category_id SET a.category_id = ...
UPDATE story_category SET category_id = ( SELECT id FROM ( SELECT id FROM category EXCEPT SELECT DISTINCT category_id FROM story_category ) AS x )
SET optimizer_switch = 'derived_merge=off';
注: クエリ オプティマイザーの無効化は長期的な解決策として推奨されるものではなく、一時的な修正としてのみ使用する必要があります。データベースのメンテナンスをより効率的に行うための代替アプローチを検討してください。
以上がMySQL エラー 1093: FROM 句で更新のターゲット テーブルを指定できませんを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。