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

ฉันจะลบข้อจำกัดเฉพาะออกจากตาราง MySQL ได้อย่างไร


คุณสามารถใช้ DROP INDEX สำหรับสิ่งนี้ ไวยากรณ์มีดังนี้ −

แก้ไขตาราง yourTablename drop index yourUniqueName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง removeUniquenessConstraint -> ( -> Id int, -> Name varchar(100), -> Age int, -> isGreaterThan18 bool, -> UNIQUE(Id,isGreaterThan18) -> );Query OK, 0 แถวที่ได้รับผลกระทบ (0.69 วินาที)

ตรวจสอบรายละเอียดของตารางด้วยคำสั่ง SHOW CREATE แบบสอบถามมีดังนี้ −

mysql> แสดงสร้างตาราง removeUniquenessConstraint;

นี่คือผลลัพธ์ -

<ก่อนหน้า>+------------------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------+| ตาราง | สร้างตาราง |+------------------------------------------+----------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------+| removeUniquenessConstraint | สร้างตาราง `removeuniquenessconstraint` (`Id` int (11) ค่าเริ่มต้น NULL, `ชื่อ` varchar (100) ค่าเริ่มต้น NULL, `Age` int (11) ค่าเริ่มต้น NULL,` isGreaterThan18` tinyint (1) ค่าเริ่มต้น NULL, UNIQUE KEY `Id ` (`Id`,`isGreaterThan18`)) ENGINE =InnoDB ค่าเริ่มต้น CHARSET =utf8 |+-------------------------------------------+- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------+1 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อลบข้อจำกัดเฉพาะจากตาราง MySQL -

mysql> แก้ไขตาราง removeUniquenessConstraint drop index `Id`; Query OK, 0 แถวได้รับผลกระทบ (0.25 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ให้เราตรวจสอบรายละเอียดทั้งหมดของตารางอีกครั้ง แบบสอบถามมีดังนี้ −

mysql> แสดงสร้างตาราง removeUniquenessConstraint;

นี่คือผลลัพธ์ -

<ก่อนหน้า>+------------------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----+| ตาราง | สร้างตาราง |+------------------------------------------+----------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----+| removeUniquenessConstraint | สร้างตาราง `removeuniquenessconstraint` (`Id` int (11) ค่าเริ่มต้น NULL, `ชื่อ` varchar (100) ค่าเริ่มต้น NULL, `Age` int (11) ค่าเริ่มต้น NULL,` isGreaterThan18` tinyint (1) ค่าเริ่มต้น NULL) เครื่องยนต์ =ค่าเริ่มต้นของ InnoDB CHARSET =utf8 |+------------------------------------------+---------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----+1 แถวในชุด (0.00 วินาที)

ดูตัวอย่างผลลัพธ์ด้านบน ไม่มีข้อจำกัดเฉพาะ