MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのALTERTABLEに一意の制約を追加する


まずテーブルを作成しましょう-

mysql> create table DemoTable1811
     (
     FirstName varchar(20),
     LastName varchar(20)
     );
Query OK, 0 rows affected (0.00 sec)

インデックスを追加するためのクエリは次のとおりです

mysql> alter table DemoTable1811 ADD UNIQUE unique_index_first_last_name(FirstName, LastName);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1811 values('John','Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1811 values('John','Doe');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1811 values('Adam','Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1811 values('John','Doe');
ERROR 1062 (23000): Duplicate entry 'John-Doe' for key 'unique_index_first_last_name'

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1811;

これにより、次の出力が生成されます-

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Adam      |    Smith |
| John      |      Doe |
| John      |    Smith |
+-----------+----------+
3 rows in set (0.00 sec)

  1. MySQLでテーブル列をVARCHARからNULLに変更します

    変更するには、次の構文のようにCHANGEを指定してALTERコマンドを使用します- alter table yourTableName change yourColumnName yourColumnName datatype NULL DEFAULT NULL; まずテーブルを作成しましょう- mysql> create table DemoTable1356     -> (     -> FirstName varchar(30)     -> ); Query OK, 0 rows affected

  2. MySQLでの重複キー更新の制約を追加

    制約を追加するための構文は次のとおりです- alter table yourTableName add constraint anyName unique(yourColumnName); まずテーブルを作成しましょう- mysql> create table DemoTable1459    -> (    -> Name varchar(20),    -> Score int    -> ); Query OK, 0 rows affected (0.72 sec) 以下は、