問題:
データベース内のテーブルの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列から名前を取得できます。 。