sql >> データベース >  >> RDS >> Mysql

MySQL DROP UNIQUE CONSTRAINT

    一意性制約を使用すると、データベーステーブル内のレコードの一意性を強制し、データベースの整合性を維持できます。 MySQLDROPINDEXコマンドを使用してMySQLテーブルから一意の制約を削除する方法は次のとおりです。 MySQLの一意のキーを削除するためにも使用されます。

    MySQLの一意性制約とは何ですか?

    テーブルの一意性制約は、テーブル内の各レコードを一意に定義する1つ以上のフィールドの組み合わせです。これらのフィールドには、フィールド値の組み合わせが一意である限り、null値を含めることができます。

    ボーナスリード:DROP FOREIGN KY CONSTRAINT

    MySQLで一意性制約を削除する方法

    MySQLで一意性制約を削除する手順は次のとおりです。 MySQL DROP INDEXクエリを使用して、テーブルから既存のインデックスを削除します。

    MySQLDROPINDEXコマンドの構文は次のとおりです

    DROP INDEX constraint_name ON table_name
    [algorithm_option | lock_option];

    上記のクエリでは、 constraint_name は制約の名前であり、 table_name データベーステーブル名です。

    注意 、DROPINDEXまたはDROPUNIQUE CONSTRAINTのどちらを使用する場合でも、DROPINDEXクエリを使用する必要があります。

    ボーナスリード:MySQL DROP DATABASE

    2つのオプションの引数を指定することもできます– alarmithm_option およびlock_option。

    alarmithm_option デフォルト、インプレース、コピーの3つの値のいずれかを持つことができます。引数に応じて、MySQLは異なるアルゴリズムを使用して一意の制約を削除します。

    その構文は

    です
    ALGORITHM [=] {DEFAULT|INPLACE|COPY}
    • デフォルト–これは alarmithm_optionを使用しない場合と同じ効果があります 引数
    • copy –制約を削除する必要があるテーブルがコピーされ、コピーテーブルからインデックスが削除されます。この間、INSERTやUPDATEなどの同時操作は許可されません。
    • インプレース–この場合、テーブルは制約なしにインプレースで再構築されます。このオプションでは同時操作が可能ですが、実行中にメタデータロックが適用されます。

    lock_optionによって異なります 制約が削除されている間、MySQLはテーブルへの読み取り/書き込みアクセスをロック/ロックしません。 lock_option 次の構文があります

    LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}

    4つの値を取ります:

    • デフォルト–選択したアルゴリズムで最大の同時実行性を許可します。サポートされている場合は、読み取りと書き込みの両方を同時に実行できます。そうでない場合は、同時読み取りのみを許可します。それもサポートされていない場合は、排他的アクセスが強制されます。
    • none –サポートされている場合は、読み取りと書き込みを同時に行うことができます。それ以外の場合、MySQLはエラーを出します。
    • 共有–共有オプションがサポートされている場合、同時読み取りは可能ですが、同時書き込みはできません。
    • 排他的–このオプションは排他的アクセスを強制します

    ボーナスリード:MySQL DROP COLUMN

    MySQL DROPUNIQUECONSTRAINTの例

    一意性制約のある次のテーブルがあるとします。

    mysql> create table orders(order_id int primary key,
         order_date date,
         product varchar(255),
         sale int,
         constraint name unique (product)
         );
    

    一意の制約を削除するSQLクエリnameは、次のとおりです。 テーブルから注文

    mysql> DROP INDEX name ON orders;
    

    ボーナスリード:MySQL DROP TABLE

    MySQL DROPPRIMARYKEYインデックス

    主キーはテーブルの一意性制約の例でもあるため、テーブルの順序で主キー制約を削除する構文は次のとおりです。

    mysql> DROP INDEX `PRIMARY` ON orders;
    

    この場合、フィールド名を使用する代わりに、主キーフィールドを`PRIMARY`と呼びます。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. OracleからPostgreSQLへ:START WITH / CONNECT BY

    2. ホットスタンバイ展開のトレードオフ

    3. Oracle Dateデータ型、SQLを介して「YYYY-MM-DDHH24:MI:SSTMZ」に変換

    4. OracleDatabaseのPL/SQLパッケージの概要