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

ลบคีย์เฉพาะออกจากตาราง MySQL หรือไม่


หากต้องการลบคีย์เฉพาะออกจาก MySQL ให้ใช้คำสั่ง DROP ไวยากรณ์มีดังนี้ −

เปลี่ยนตาราง yourTableName DROP INDEX yourKeyName;

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

mysql> สร้างตาราง DropIndexDemo −> ( −> BookId int คีย์เฉพาะ −> BookName varchar(200) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.88 วินาที)

ตอนนี้คุณสามารถตรวจสอบว่าชื่อคีย์คืออะไรโดยใช้คำสั่ง show คีย์เฉพาะนี้จะถูกลบ แบบสอบถามมีดังนี้ −

mysql> แสดงดัชนีจาก DropIndexDemo;

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

<ก่อน>+-----------+-----------+----------+---------- ----+--------------------+-----------+-------------+----- -----+--------+------+-----------+---------+ ----- ----+---------+| ตาราง | Non_unique | Key_name | Seq_in_index | Column_name | การเรียง | คาร์ดินัลลิตี้ | Sub_part | บรรจุ | Null | Index_type | ความคิดเห็น | Index_comment | มองเห็นได้ |+-----------+-----------+----------+----------- ---------------+-----------+-------------+------ ----+-------+------+-----------+---------+------ ---------+---------+| dropindex | 0 | รหัสหนังสือ | 1 | รหัสหนังสือ | A | 0 | NULL | NULL | ใช่ | BTREE | | | ใช่ |+-----------+--------------------+----------+----------- ---------------+-----------+-------------+------ ----+-------+------+-----------+---------+------ ---------+---------+1 แถวในชุด (0.17 วินาที)

ดูตัวอย่างผลลัพธ์ด้านบน ชื่อคีย์ของคุณคือ 'BookId' ต่อไปนี้คือข้อความค้นหาเพื่อลบคีย์เฉพาะ -

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

เราได้ลบคีย์เฉพาะออกจากตาราง MySQL DropIndex คอลัมน์ BookId มีคีย์ที่ไม่ซ้ำมาก่อน

ตอนนี้แสดงโครงสร้างตารางด้วยความช่วยเหลือของคำสั่ง desc การดำเนินการนี้จะไม่แสดงคีย์ที่ไม่ซ้ำเนื่องจากเราได้ลบไปแล้ว -

mysql> อธิบาย DropIndex;

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

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

ดูตัวอย่างผลลัพธ์ด้านบนว่าไม่มีคีย์เฉพาะในคอลัมน์ BookId