Để ngăn chặn bản ghi trùng lặp, thêm ràng buộc UNIQUE KEY (hoặc PRIMARY KEY) cho cột cần duy nhất.
Cú pháp:
ALTER TABLE ten_bang ADD CONSTRAINT UNIQUE KEY (ten_cot);
Ví dụ: tạo bảng RemoveDuplicateEntry:
mysql> CREATE TABLE RemoveDuplicateEntry (
-> Id INT,
-> Name VARCHAR(100)
-> ) ENGINE = MyISAM;
Thêm khóa duy nhất cho cột Id:
mysql> ALTER TABLE RemoveDuplicateEntry ADD CONSTRAINT UNIQUE KEY (Id);
Kiểm tra cấu trúc:
mysql> DESC RemoveDuplicateEntry;
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | UNI | NULL | | | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+
Cột Key hiển thị UNI (Unique).
Thử chèn trùng:
mysql> INSERT INTO RemoveDuplicateEntry VALUES (101, 'John'); -- OK mysql> INSERT INTO RemoveDuplicateEntry VALUES (101, 'John'); -- LỖI
ERROR 1062 (23000): Duplicate entry '101' for key 'Id'
Dữ liệu chỉ còn 1 bản ghi. Cơ chế này tự động chặn trùng lặp ở cấp database.