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

จะทำให้คอลัมน์คู่ไม่ซ้ำกันใน MySQL ได้อย่างไร


หากต้องการให้คอลัมน์คู่ไม่ซ้ำกัน ให้ใช้คำสั่ง UNIQUE ด้วยคำสั่ง ALTER TABLE ต่อไปนี้เป็นไวยากรณ์ -

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

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(100), StudentLastName varchar(100), StudentAge int, StudentPhoneNumber varchar(20)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.81 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างคู่ของคอลัมน์ที่ไม่ซ้ำกันใน MySQL -

mysql> แก้ไขตาราง DemoTable เพิ่ม DemoTable_unique_StudentFirstName_StudentPhoneNumber (StudentFirstName,StudentPhoneNumber) ไม่ซ้ำกัน แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.40 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงใน DemoTable (StudentFirstName,StudentLastName,StudentAge,StudentPhoneNumber) ค่า ('John','Doe',21,'9878567878'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน DemoTable ( StudentFirstName,StudentLastName,StudentAge,StudentPhoneNumber) ค่า ('John','Smith',23,'7654674545');การสืบค้นตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable (StudentFirstName,StudentLastName,StudentAge,StudentPhoneNumber) ('John','Brown',21,'9878567878');ข้อผิดพลาด 1062 (23000):รายการซ้ำ 'John-9878567878' สำหรับคีย์ 'DemoTable_unique_StudentFirstName_StudentPhoneNumber'

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

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

<ก่อนหน้า>+-----------+-----------+-------------- ---+--------------------+--------------------+| รหัสนักศึกษา | StudentFirstName | นักเรียนนามสกุล | StudentAge | StudentPhoneNumber |+-----------+-----------------+---------------- ++--------------------------------+| 1 | จอห์น | โด | 21 | 9878567878 || 2 | จอห์น | สมิ ธ | 23 | 7654674545 |+-----------+-----------------+---------------- ++------------+--------------------+2 แถวในชุด (0.00 วินาที)