問題:
データベース内のテーブルの1つまたは複数の列から一意性制約を削除したい。
例:
テーブルproduct
列name
から 。以下のステートメントは、その方法を示しています。
解決策
ALTER TABLE product DROP CONSTRAINT UQ_product_name
この例では、テーブル製品はALTER TABLE
を使用して変更されています。 句。この句の後に、テーブルの名前を入力します(この例ではproduct
)および句DROP CONSTRAINT
削除する一意の制約の名前を使用します。
制約の名前は、データベースのメタデータにあります。データベースエンジンごとに、制約の命名方法が異なります。 SQL Serverでは、sys.key_constraints
からデータを選択することで、制約の名前を確認できます。 特定のデータベースのテーブル。 PostgreSQLでは、pg_constraint
からconname列を選択します テーブル。 Oracleサーバーでは、このデータがuser_constraints
に含まれています。 テーブル、およびMySQLでは、information_schema.TABLE_CONSTRAINTS
のCONSTRAINT_NAME列から名前を取得できます。 。