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

คอลัมน์ MySQL ALTER เพื่อลบคีย์หลักและ auto_increment?


คุณสามารถใช้คำสั่ง ALTER เพื่อลบคีย์หลักและ auto_increment ไวยากรณ์มีดังนี้ −

เปลี่ยนตาราง yourTableName DROP PRIMARY KEY เปลี่ยน yourColumnName yourColumnName data type;

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

mysql> สร้างตาราง removePrimaryKey -> ( -> StudentId int ไม่ใช่ NULL AUTO_INCREMENT, -> StudentFirstName varchar(20), -> StudentLastName varchar(20), -> PRIMARY KEY(StudentId) -> ); ตกลง, 0 แถวที่ได้รับผลกระทบ (0.47 วินาที)

ตรวจสอบคำอธิบายของตารางโดยใช้คำสั่ง DESC ไวยากรณ์มีดังนี้ −

desc yourTableName;

ตรวจสอบคำอธิบายของตาราง 'removePrimaryKey' โดยใช้ DESC แบบสอบถามมีดังนี้ −

mysql> อธิบาย removePrimaryKey;

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

<ก่อนหน้า>+-------------+-------------+------+----+ ---------+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-----------+-------------+------+ -----+- -------------------------------------+| รหัสนักศึกษา | int(11) | ไม่ | PRI | NULL | auto_increment || StudentFirstName | varchar(20) | ใช่ | | NULL | || นักเรียนนามสกุล | varchar(20) | ใช่ | | NULL | |+-------------------+-------------+------+----+-- --------+----------------+3 แถวในชุด (0.01 วินาที)

ตอนนี้ดูที่คอลัมน์ คีย์ และ พิเศษ ด้านบน ในคอลัมน์คีย์จะมี PRI และคอลัมน์พิเศษจะมี auto_increment คุณต้องลบทั้งคู่โดยใช้คำสั่ง ALTER DROP ที่กล่าวถึงในตอนต้น -

แบบสอบถามมีดังนี้ −

mysql> แก้ไขตาราง removePrimaryKey DROP PRIMARY KEY เปลี่ยน StudentId StudentId int แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.79 วินาที) ระเบียน − 0 รายการซ้ำ − 0 คำเตือน − 0

เราได้ลบคีย์หลักและการเพิ่มอัตโนมัติด้านบนเรียบร้อยแล้ว ตอนนี้คุณตรวจสอบคีย์หลักและ auto_increment ถูกลบออกจากตารางหรือไม่ใช้แบบสอบถามต่อไปนี้ -

mysql> อธิบาย removePrimaryKey;

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

<ก่อนหน้า>+-------------+-------------+------+----+ ---------+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-----------+-------------+------+ -----+- --------+-------+| รหัสนักศึกษา | int(11) | ใช่ | | NULL | || StudentFirstName | varchar(20) | ใช่ | | NULL | || นักเรียนนามสกุล | varchar(20) | ใช่ | | NULL | |+-------------------+-------------+------+----+-- --------+------+3 แถวในชุด (0.07 วินาที)