Dùng ALTER TABLE ... ADD CONSTRAINT ... UNIQUE.
Cú pháp:
ALTER TABLE yourTableName ADD CONSTRAINT yourConstraintName UNIQUE(yourColumnName1,yourColumnName2,...);
Tạo bảng:
mysql> create table MovieCollectionDemo -> ( -> MovieId int, -> MovieDirectorName varchar(200), -> NumberOfSongs int unsigned -> ); Query OK, 0 rows affected (0.62 sec)
Kiểm tra (chưa có UNIQUE):
mysql> desc MovieCollectionDemo;
Kết quả:
+-------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+------------------+------+-----+---------+-------+ | MovieId | int(11) | YES | | NULL | | | MovieDirectorName | varchar(200) | YES | | NULL | | | NumberOfSongs | int(10) unsigned | YES | | NULL | | +-------------------+------------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
Thêm UNIQUE cho MovieId:
mysql> alter table MovieCollectionDemo add constraint uni_moviecollectio unique(MovieId); Query OK, 0 rows affected (0.46 sec) Records: 0 Duplicates: 0 Warnings: 0
Kiểm tra lại (hiện "UNI"):
+-------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+------------------+------+-----+---------+-------+ | MovieId | int(11) | YES | UNI | NULL | | | MovieDirectorName | varchar(200) | YES | | NULL | | | NumberOfSongs | int(10) unsigned | YES | | NULL | | +-------------------+------------------+------+-----+---------+-------+ 3 rows in set (0.02 sec)
Lưu ý: nếu dữ liệu đã trùng, lệnh sẽ báo lỗi.