mysql では、「ALTER TABLE テーブル名 DROP INDEX 一意のキー名」ステートメントを使用して一意のキーを削除できます。ALTER TABLE ステートメントはデータの追加、削除、または変更に使用され、DROP INDEX ステートメントはは、制約の削除操作を表現するために使用されます。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
MySQL の一意の制約 (一意のキー) は、すべてのレコードのフィールドの値を繰り返すことができないことを意味します。
たとえば、一意制約を id フィールドに追加すると、各レコードの id 値は一意になり、繰り返すことはできなくなります。いずれかのレコードの ID 値が「0001」の場合、テーブル内に ID 値「0001」を持つ別のレコードは存在できません。
一意制約は、列の一意性を保証できるという点で主キー制約に似ています。違いは、テーブル内に複数の一意制約を設定できることと、一意制約が設定されている列には NULL 値を持つことが許可されますが、NULL 値は 1 つだけであることです。テーブル内に存在できる主キー制約は 1 つだけであり、NULL 値は許可されません。たとえば、ユーザー情報テーブルでは、テーブル内でユーザー名の重複を避けるために、ユーザー名を一意性制約として設定できます。
一意制約の削除
MySQL で一意制約を削除するための構文形式は次のとおりです。
ALTER TABLE <表名> DROP INDEX <唯一约束名>;
例は次のとおりです。
##データの削除 テーブル tb_dept1 の一意制約 unique_name、SQL 文および実行結果は次のとおりです。mysql> ALTER TABLE tb_dept1 -> DROP INDEX unique_name; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_dept1; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(22) | NO | | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
拡張知識:
テーブルの作成時に一意制約を設定する一意制約は、テーブルの作成時に直接設定できます。通常は、他の列の主キーに加えて。 列を定義した直後に UNIQUE キーワードを使用して、一意制約を指定します。構文形式は次のとおりです:<字段名> <数据类型> UNIQUE
mysql> CREATE TABLE tb_dept2 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> location VARCHAR(50) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_dept2; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(40) | YES | UNI | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.08 sec)
以上がmysqlで一意のキーを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。