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

จะเปลี่ยนคีย์หลักใน MySQL เป็น auto_increment ได้อย่างไร?


หากต้องการเปลี่ยนคีย์หลักเป็น auto_increment คุณสามารถใช้คำสั่ง MODIFY เรามาสร้างตารางกันก่อน

mysql> สร้างตาราง changePrimaryKeyInAutoIncrement -> ( -> StudentId int ไม่ใช่คีย์หลัก null, -> StudentName varchar(100), -> StudentAge int, -> StudentAddress varchar(100) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.63 วินาที)

ให้เราตรวจสอบคำอธิบายของตารางโดยใช้คำสั่ง desc:

mysql> อธิบายการเปลี่ยนแปลงPrimaryKeyInAutoIncrement;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

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

ดูตัวอย่างผลลัพธ์ด้านบน คอลัมน์ StudentId เป็นคีย์หลัก ตอนนี้ให้เราเปลี่ยนคีย์หลักเป็น auto_increment:

mysql> แก้ไขตาราง changePrimaryKeyInAutoIncrement MODIFY StudentId INT AUTO_INCREMENT ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.48 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ให้เราตรวจสอบคำอธิบายตารางอีกครั้ง:

mysql> อธิบายการเปลี่ยนแปลงPrimaryKeyInAutoIncrement;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

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

ดูตัวอย่างผลลัพธ์ด้านบน คอลัมน์ StudentId ถูกเปลี่ยนเป็น auto_increment