これは私が実際に助けを必要とするよりもメタ質問ですが、他の場所でそれに関する情報を見つけることができませんでした。今日、データベースから2つのテーブルを削除しようとしましたが、試行すると、「外部キー制約が失敗しました」というエラーメッセージが表示されます。問題ありません。外部キーも削除してください。したがって、私のクエリは次のようになりました。
ALTER TABLE Database.mytable
DROP FOREIGN KEY abc_ibfk_1;
ALTER TABLE Database.mytable
DROP COLUMN abc;
「エラーコード:1025。「。/ Database /#sql-461_somerandomnumbers」の名前を「./Database/mytable」に変更するとエラーが発生します(errno:150)」という別のエラーメッセージが表示されます。
組み込みを使用すると思います。右クリックして、編集テーブルの列をドロップします。これを使用すると、「ドロップインデックス」も使用されていることがわかります。そこで、Workbenchがそれ自体を実行するのとまったく同じようにコードを変更します。
ALTER TABLE Database.mytable
DROP FOREIGN KEY abc_ibfk_1;
ALTER TABLE Database.mytable
DROP COLUMN abc, DROP INDEX abc;
さて、これはWorkbenchが行うのとまったく同じですが、自分で入力した場合は実行されません(エラーメッセージの上)が、Workbenchにクエリの実行を許可した場合は正常に機能します。
だから、私の質問は、コピー/貼り付けができないのに、Workbenchがドロップクエリを実行できるのはなぜですか?