คุณสามารถเพิ่มคีย์เฉพาะลงในตารางที่มีอยู่โดยใช้คำสั่ง alter ไวยากรณ์มีดังนี้ −
เปลี่ยนตาราง yourTableName เพิ่มข้อจำกัด yourConstraintName UNIQUE(yourColumnName1,yourColumnName2,............N);
เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตารางที่มีบางคอลัมน์ แบบสอบถามเพื่อสร้างตาราง −
mysql> สร้างตาราง MovieCollectionDemo −> ( −> MovieId int, −> MovieDirectorName varchar(200), −> NumberOfSongs int unsigned −> ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)
ตอนนี้คุณสามารถตรวจสอบว่าตารางไม่มีข้อจำกัดเฉพาะใดๆ แบบสอบถามเพื่อตรวจสอบข้อจำกัดเฉพาะมีดังนี้ -
mysql> อธิบาย MovieCollectionDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------------------+-----------------+------+ -----+---------+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+---------------------------------------------------------+------+- ----+---------+-------+| MovieId | int(11) | ใช่ | | NULL | || ชื่อผู้กำกับภาพยนตร์ | varchar(200) | ใช่ | | NULL | || Number OfSongs | int(10) ไม่ได้ลงนาม | ใช่ | | NULL | |+-------------------+----------------------+------+-- ---+---------+-------+3 แถวในชุด (0.00 วินาที)ตอนนี้คุณสามารถเพิ่มคีย์เฉพาะจากไวยากรณ์ด้านบนได้ เรากำลังเพิ่มคีย์เฉพาะในคอลัมน์ MovieId แบบสอบถามมีดังนี้ −
mysql> แก้ไขตาราง MovieCollectionDemo เพิ่มข้อจำกัด uni_moviecollectio เฉพาะ (MovieId) ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.46 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0
ให้เราดูทั้งตารางและคอลัมน์ MovieId เพื่อดูว่ามีคีย์เฉพาะหรือไม่
mysql> อธิบาย MovieCollectionDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------------------+-----------------+------+ -----+---------+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+---------------------------------------------------------+------+- ----+---------+-------+| MovieId | int(11) | ใช่ | UNI | NULL | || ชื่อผู้กำกับภาพยนตร์ | varchar(200) | ใช่ | | NULL | || Number OfSongs | int(10) ไม่ได้ลงนาม | ใช่ | | NULL | |+-------------------+----------------------+------+-- ---+---------+-------+3 แถวในชุด (0.02 วินาที)เอาต์พุตด้านบนแสดง "UNI" ซึ่งหมายความว่าช่อง "MovieId" มีคีย์เฉพาะ