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

การประกาศ MySQL UNIQUE เพื่อหลีกเลี่ยงการแทรกค่าที่ซ้ำกัน?


ต่อไปนี้เป็นคำประกาศสำหรับคำสั่ง UNIQUE ใน MySQL -

สร้างตาราง yourTableName( yourColumnName1 dataType, yourColumnName2 dataType, UNIQUE(yourColumnName1), UNIQUE(yourColumnName1));

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

mysql> สร้างตาราง DemoTable( Value int, Value2 int, UNIQUE(Value), UNIQUE(Value2));Query OK, 0 แถวได้รับผลกระทบ (13.98 วินาที)

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

mysql> แทรกลงในค่า DemoTable (10,20) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.32 วินาที) mysql> แทรกลงในค่า DemoTable (10,30); ข้อผิดพลาด 1062 (23000):รายการซ้ำ '10' สำหรับคีย์ 'Value'mysql> แทรกลงในค่า DemoTable (40,20);ข้อผิดพลาด 1062 (23000):รายการที่ซ้ำกัน '20' สำหรับคีย์ 'Value2'mysql> แทรกลงในค่า DemoTable (60,70); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 1.37 วินาที)

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

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

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

<ก่อนหน้า>+-------+---------+| ความคุ้มค่า | ค่าที่ 2 |+-------+ --------+| 10 | 20 || 60 | 70 |+-------+-------+2 แถวในชุด (0.00 วินาที)