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

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


ในการทำให้ฟิลด์ที่มีอยู่ไม่ซ้ำกันใน MySQL เราสามารถใช้คำสั่ง ALTER และตั้งค่าข้อจำกัด UNIQUE สำหรับฟิลด์ เรามาดูตัวอย่างกัน ขั้นแรก เราจะสร้างตาราง

mysql> สร้างตาราง AddingUnique -> ( -> Id int, -> name varchar(100) -> );Query OK, 0 แถวได้รับผลกระทบ (0.44 วินาที)

ไวยากรณ์เพื่อเพิ่ม UNIQUE ให้กับฟิลด์ที่มีอยู่

แก้ไขตาราง yourTableName เพิ่ม UNIQUE(yourColumnName);

ใช้ไวยากรณ์ด้านบนเพื่อเพิ่ม UNIQUE ให้กับคอลัมน์ 'ชื่อ'

mysql> แก้ไขตาราง AddingUnique เพิ่ม UNIQUE(name);ตกลง สืบค้น 0 แถว (0.60 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ตอนนี้เราไม่สามารถแทรกระเบียนที่ซ้ำกันลงในตารางได้ เนื่องจากเราได้ตั้งค่าเขตข้อมูลให้ไม่ซ้ำกัน หากเราพยายามเพิ่มระเบียนที่ซ้ำกัน จะทำให้เกิดข้อผิดพลาด

mysql> แก้ไขตาราง AddingUnique เพิ่ม UNIQUE(name);Query OK, 0 แถวได้รับผลกระทบ (0.60 วินาที)Records:0 Duplicates:0 Warnings:0mysql> insert into AddingUnique values(1,'John');Query OK, 1 แถวที่ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า AddingUnique (1,'John');ข้อผิดพลาด 1062 (23000):รายการซ้ำ 'John' สำหรับคีย์ 'name'mysql> แทรกลงในค่า AddingUnique (2,'Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า AddingUnique (3,'John');ข้อผิดพลาด 1062 (23000):รายการซ้ำ 'John' สำหรับคีย์ 'name'mysql> แทรกลงในค่า AddingUnique (4,' Smith');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

เพื่อแสดงรายการทั้งหมด

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------+-------+| รหัส | ชื่อ |+------+-------+| 1 | จอห์น || 2 | แครอล || 4 | Smith |+------+-------+3 แถวในชุด (0.00 วินาที)