Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 ALTER TABLE에 고유 제약 조건 추가

<시간/>

먼저 테이블을 생성하겠습니다 -

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)