問題:
データベース内のテーブルから外部キーを削除したい。
例:
fk_student_city_id
という名前の外部キーを削除します テーブルからstudent
。
ソリューション1(新しいテーブル):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
ディスカッション:
テーブルから外部キーを削除するには、ALTER TABLE
を使用します テーブルの名前を含む句(この例では、student
)の後にDROP CONSTRAINT
句が続きます 外部キー制約の名前を使用します。この例では、この制約の名前はfk_student_city_id
です。 。
外部キーの制約がデータベースによって生成された場合、この名前はデータベースで見つけることができます。ただし、データベースサーバーごとに、制約に名前を付ける方法が異なります。 SQL Serverでは、sys.key_constraints
指定されたデータベース内。 PostgreSQLでは、conname
を選択します pg_constraint
テーブル。 Oracleはこのデータをuser_constraintsテーブルに格納し、MySQLではCONSTRAINT_NAME
から名前を取得できます。 information_schema.TABLE_CONSTRAINTS
の列 。