Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะใช้ข้อจำกัด UNIQUE กับฟิลด์ของตาราง MySQL ที่มีอยู่ได้อย่างไร


เราสามารถนำข้อจำกัด UNIQUE ไปใช้กับคอลัมน์ของตาราง MySQL ที่มีอยู่โดยใช้คำสั่ง ALTER TABLE

ไวยากรณ์

ALTER TABLE table_name MODIFY colum_name datatype UNIQUE;
                    OR
ALTER TABLE table_name ADD UNIQUE (colum_name);

ตัวอย่าง

สมมติว่าเรามีตารางต่อไปนี้ชื่อ 'Test4' และเราต้องการเพิ่มข้อจำกัด UNIQUE ให้กับคอลัมน์ 'ชื่อ' จากนั้นสามารถทำได้โดยใช้คำสั่ง ALTER TABLE ดังต่อไปนี้ -

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

mysql> ALTER TABLE test4 MODIFY Name Varchar(20) UNIQUE;
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

จากชุดผลลัพธ์ข้างต้น จะสังเกตได้ว่า MySQL ได้เพิ่มข้อจำกัด UNIQUE ให้กับ 'Name' ที่จัดเก็บไว้ เราสามารถเพิ่มข้อจำกัด UNIQUE ด้วยแบบสอบถามต่อไปนี้เช่นกัน -

mysql> Alter table test4 add UNIQUE(name);
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0