Để ngăn mục nhập trùng lặp, hãy thêm ràng buộc UNIQUE. Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable ( Id int, Name varchar(100) ); Query OK, 0 rows affected (0.79 sec)
Đây là truy vấn để ngăn chặn chèn kép MySQL bằng cách sử dụng UNIQUE -
mysql> alter table DemoTable add constraint id_NameUnKey UNIQUE(Id,Name); Query OK, 0 rows affected (0.82 sec) Records: 0 Duplicates: 0 Warnings: 0
Chèn bản ghi trong bảng bằng lệnh chèn. Khi chúng tôi thử lại cùng một bản ghi, thì lỗi "Mục nhập trùng lặp" sẽ hiển thị -
mysql> insert into DemoTable values(11,'John'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values(12,'John'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values(11,'John'); ERROR 1062 (23000): Duplicate entry '11-John' for key 'id_NameUnKey'
Hiển thị các bản ghi từ bảng bằng lệnh select -
mysql> select *from DemoTable;
Điều này sẽ tạo ra kết quả sau -
+------+------+ | Id | Name | +------+------+ | 11 | John | | 12 | John | +------+------+ 2 rows in set (0.00 sec)