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

ใช้ UNIQUE สำหรับคอลัมน์ varchar พร้อมเงื่อนไขบางอย่างใน MySQL หรือไม่


สำหรับสิ่งนี้ คุณสามารถใช้ข้อจำกัด UNIQUE บนคอลัมน์อย่างน้อยหนึ่งคอลัมน์ -

แก้ไขตาราง yourTableleName เพิ่มไม่ซ้ำกัน (yourColumnName1,yourColumnName2,...N);

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

mysql> สร้างตาราง DemoTable1598 -> ( -> EmployeeId int, -> EmployeeName varchar(20), -> EmployeeCountryName varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (0.52 วินาที)

นี่คือแบบสอบถามที่จะใช้ UNIQUE บนคอลัมน์ varchar -

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

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

mysql> แทรกลงในค่า DemoTable1598 (101,'Adam','AUS'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)mysql> ลงในค่า DemoTable1598 (102, 'John', 'US'); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.64 วินาที)mysql> แทรกลงในค่า DemoTable1598 (103, 'Adam', 'US'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงในค่า DemoTable1598 (104, 'Adam', 'AUS');ข้อผิดพลาด 1062 (23000):รายการซ้ำ 'Adam-AUS' สำหรับคีย์ 'EmployeeName'

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

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

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

<ก่อนหน้า>+-----------------------------------+----------------- ----+| รหัสพนักงาน | ชื่อพนักงาน | ชื่อประเทศพนักงาน |+--------------------+--------------+------------------- ---+| 101 | อดัม | AUS || 102 | จอห์น | สหรัฐอเมริกา || 103 | อดัม | สหรัฐอเมริกา |+-----------+--------------+------------------- --+3 แถวในชุด (0.00 วินาที)