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

วิธีการใช้คีย์ CANDIDATE ในตาราง MySQL ใด ๆ


แต่ละความสัมพันธ์อาจมีคีย์ผู้สมัครอย่างน้อยหนึ่งรายการ หนึ่งในคีย์ตัวเลือกเหล่านี้เรียกว่าคีย์หลัก รหัสผู้สมัครแต่ละรหัสมีคุณสมบัติสำหรับรหัสหลัก ดังนั้นผู้สมัครสำหรับคีย์หลักจึงเรียกว่า Candidate Key ในการใช้คีย์ตัวเลือกใน MySQL ให้ตั้งค่าคอลัมน์มากกว่าหนึ่งคอลัมน์เป็นคีย์เฉพาะ คีย์เหล่านี้จะเข้าเกณฑ์สำหรับคีย์ตัวเลือกตามรูปแบบต่อไปนี้ -

แก้ไขตาราง yourTableName เพิ่มคีย์เฉพาะ anyName(yourColumnName1,yourColumnName2);

ให้เราสร้าง −

. ก่อน
mysql> สร้างตาราง DemoTable1400 -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(40), -> Age int -> );Query OK, 0 แถวได้รับผลกระทบ (0.50 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อใช้คีย์ CANDIDATE ใน MySQL ใด ๆ -

mysql> แก้ไขตาราง DemoTable1400 เพิ่มคีย์เฉพาะ name_age_unique(Name,Age);Query OK, 0 แถวได้รับผลกระทบ (0.67 วินาที)ระเบียน:0 รายการซ้ำ:0 คำเตือน:0

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

mysql> แทรกลงในค่า DemoTable1400(Name,Age)('Chris',23);Query OK, 1 แถวได้รับผลกระทบ (0.14 sec)mysql> แทรกลงในค่า DemoTable1400(Name,Age)('Chris',23);ข้อผิดพลาด 1062 (23000):รายการซ้ำ 'Chris-23' สำหรับคีย์ 'name_age_unique'mysql> แทรกลงในค่า DemoTable1400 (ชื่อ, อายุ) ('David', 23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable1400(Name,Age)('Chris',24);Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้ตัวเลือก -

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

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

<ก่อนหน้า>+----+---------+------+| รหัส | ชื่อ | อายุ |+----+-------+------+| 1 | คริส | 23 || 4 | คริส | 24 || 3 | เดวิด | 23 |+----+-------+------+3 แถวในชุด (0.00 วินาที)