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

จะสร้างคีย์ผสมให้มีเอกลักษณ์ใน MySQL ได้อย่างไร?


หากต้องการสร้างคีย์ผสมให้มีเอกลักษณ์ คุณต้องใช้คำสั่ง ADD UNIQUE ต่อไปนี้เป็นไวยากรณ์ -

แก้ไขตาราง yourTableName เพิ่ม uniqueyourUniqueName( yourColumnName1,yourColumnName2,.......N);

ให้เราสร้างตารางก่อน ต่อไปนี้เป็นแบบสอบถาม -

mysql> สร้างตาราง makeCompositeKeyDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(40), -> StudentAge int, -> StudentGrade char(1) -> );Query OK, 0 แถว ได้รับผลกระทบ (2.34 วินาที)

ตรวจสอบคำอธิบายของตารางโดยใช้คำสั่ง DESC ต่อไปนี้เป็นแบบสอบถาม -

mysql> อธิบาย makeCompositeKeyDemo;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------+-------------+------+----+---- -----+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+-------------+------+ -----+----- ----+----------------+| รหัส | int(11) | ไม่ | PRI | NULL | auto_increment || ชื่อนักเรียน | varchar(40) | ใช่ | | NULL | || StudentAge | int(11) | ใช่ | | NULL | || เกรดนักเรียน | ถ่าน(1) | ใช่ | | NULL | |+-------------+-------------+------+----+------ ---+----------------+4 แถวในชุด (1.65 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างคีย์ผสมที่ไม่ซ้ำ -

mysql> แก้ไขตาราง makeCompositeKeyDemo เพิ่ม uniqueName_Age_Grade ( StudentName,StudentAge,StudentGrade) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ตรวจสอบคำอธิบายตารางอีกครั้ง ต่อไปนี้เป็นแบบสอบถาม -

mysql> อธิบาย makeCompositeKeyDemo;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------+-------------+------+----+---- -----+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+-------------+------+ -----+----- ----+----------------+| รหัส | int(11) | ไม่ | PRI | NULL | auto_increment || ชื่อนักเรียน | varchar(40) | ใช่ | MUL | NULL | || StudentAge | int(11) | ใช่ | | NULL | || เกรดนักเรียน | ถ่าน(1) | ใช่ | | NULL | |+-------------+-------------+------+----+------ ---+----------------+4 แถวในชุด (0.00 วินาที)