ใช้ ALTER TABLE ... ADD UNIQUE(column_name) เพื่อเพิ่ม Constraint UNIQUE ให้คอลัมน์ที่มีอยู่แล้ว
สร้างตาราง
mysql> CREATE TABLE AddingUnique (
-> Id INT,
-> name VARCHAR(100)
-> );
เพิ่ม UNIQUE Constraint
mysql> ALTER TABLE AddingUnique ADD UNIQUE(name); Query OK, 0 rows affected (0.60 sec)
ทดสอบ Insert ข้อมูลซ้ำ
mysql> INSERT INTO AddingUnique VALUES (1, 'John'); -- OK mysql> INSERT INTO AddingUnique VALUES (1, 'John'); -- ERROR 1062: Duplicate entry 'John' for key 'name' mysql> INSERT INTO AddingUnique VALUES (2, 'Carol'); -- OK mysql> INSERT INTO AddingUnique VALUES (3, 'John'); -- ERROR 1062 mysql> INSERT INTO AddingUnique VALUES (4, 'Smith'); -- OK
ข้อมูลสุดท้าย:
+------+-------+ | Id | name | +------+-------+ | 1 | John | | 2 | Carol | | 4 | Smith | +------+-------+
ข้อควรระวัง: หากตารางมีข้อมูลซ้ำอยู่แล้ว ADD UNIQUE จะล้มเหลว ต้องลบข้อมูลซ้ำก่อน หรือสร้าง Index แบบ Non-Unique ก่อน แล้วค่อย Clean Data