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

ทิ้งข้อ จำกัด เฉพาะจากตาราง MySQL หรือไม่


ขั้นแรก ให้เราสร้างตารางที่มีข้อจำกัดที่ไม่ซ้ำใคร แสดงว่าเราไม่สามารถเพิ่มค่าที่ซ้ำกันได้

การสร้างตาราง

mysql> สร้างตาราง UniqueConstraintDemo -> ( -> ชื่อ varchar(200) เฉพาะ -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.05 วินาที)

ตอนนี้ เราสามารถตรวจสอบว่าตารางมีข้อจำกัด UNIQUE หรือไม่ โดยใช้คำสั่ง DESC แบบสอบถามมีดังนี้

mysql> DESC UniqueConstraintDemo;

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

<ก่อนหน้า>+-------+--------------+------+----+---------+ --------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------+--------------+------+ -----+---------+- ------+| ชื่อ | varchar(200) | ใช่ | UNI | NULL | |+-------+--------------+------+----+---------+-- -----+1 แถวในชุด (0.00 วินาที)

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

mysql> แทรกลงในค่า UniqueConstraintDemo ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.54 วินาที) mysql> แทรกลงในค่า UniqueConstraintDemo ('John'); ข้อผิดพลาด 1062 (23000):รายการซ้ำ 'John' สำหรับคีย์ 'ชื่อ'

ดูข้อผิดพลาด 1062 ด้านบน แสดงว่าเราพยายามเพิ่มค่าที่ซ้ำกันในคอลัมน์ที่มีข้อจำกัด UNIQUE

ให้เราดูไวยากรณ์สำหรับการทิ้งข้อจำกัด UNIQUE

DROP สร้างดัชนี yourColumnName บน yourTableName;

ใช้ไวยากรณ์ด้านบนเพื่อลบข้อจำกัดเฉพาะ

mysql> ชื่อดัชนี DROP บน UniqueConstraintDemo ตกลง สืบค้น 0 แถว (0.39 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ขณะนี้เราสามารถตรวจสอบว่ามีการลบข้อจำกัด UNIQUE หรือไม่ด้วยความช่วยเหลือของคำสั่ง DESC แบบสอบถามมีดังนี้ −

mysql> DESC UniqueConstraintDemo;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงว่าเราได้ลบข้อจำกัด UNIQUE สำเร็จแล้ว

<ก่อนหน้า>+-------+--------------+------+----+---------+ --------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------+--------------+------+ -----+---------+- ------+| ชื่อ | varchar(200) | ใช่ | | NULL | |+-------+--------------+------+----+---------+-- -----+1 แถวในชุด (0.00 วินาที)