먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable ( FirstName varchar(100) ); Query OK, 0 rows affected (0.58 sec)
공식 MySQL 문서에 명시된 바와 같이 "IGNORE 없이 테이블의 기존 UNIQUE 인덱스 또는 PRIMARY KEY 값을 복제하는 행은 중복 키 오류를 일으키고 명령문이 중단됩니다 ".
따라서 이제 고유 인덱스를 추가해 보겠습니다 -
mysql> alter table DemoTable add unique index(FirstName); Query OK, 0 rows affected (0.50 sec) Records: 0 Duplicates: 0 Warnings: 0
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 보시다시피 INSERT IGNORE를 사용하지 않았기 때문에 중복 레코드를 삽입하는 동안 오류가 표시됩니다 -
mysql> insert into DemoTable values('Chris'); Query OK, 1 row affected (0.32 sec) mysql> insert into DemoTable values('Robert'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values('David'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('Robert'); ERROR 1062 (23000): Duplicate entry 'Robert' for key 'FirstName' mysql> insert into DemoTable values('Chris'); ERROR 1062 (23000): Duplicate entry 'Chris' for key 'FirstName' mysql> insert into DemoTable values('Sam'); Query OK, 1 row affected (0.12 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select *from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+-----------+ | FirstName | +-----------+ | Chris | | David | | Robert | | Sam | +-----------+ 4 rows in set (0.00 sec)