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

เปลี่ยนคอลัมน์ MySQL เป็น AUTO_INCREMENT หรือไม่


สมมติว่าเรามีตารางและตอนนี้มีความจำเป็นต้องเพิ่ม AUTO_INCREMENT ในชื่อคอลัมน์ ให้ใช้คำสั่ง MODIFY

ที่นี่ เราจะสร้างตารางสาธิตก่อน

mysql> สร้างตาราง AddingAutoIncrement -> ( -> Id int, -> Name varchar(200), -> Primary key(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (0.47 วินาที)

เราได้สร้างตารางด้านบนแล้ว และตอนนี้ให้เราเปลี่ยนตารางเพื่อเพิ่ม AUTO_INCREMENT ในชื่อคอลัมน์ 'Id' ไวยากรณ์มีดังนี้ −

แก้ไขตาราง yourTableNamet แก้ไข yourColumnName int AUTO_INCREMENT;

ใช้ไวยากรณ์ด้านบนเพื่อเพิ่ม AUTO_INCREMENT แบบสอบถามมีดังนี้

mysql> แก้ไขตาราง AddingAutoIncrement แก้ไข Id int AUTO_INCREMENT ตกลง สืบค้น 0 แถวได้รับผลกระทบ (1.19 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ด้านบน เราได้เพิ่ม "AUTO_INCREMENT" ในชื่อคอลัมน์ "Id" ให้เราตรวจสอบสิ่งเดียวกันด้วยความช่วยเหลือของคำสั่ง DESC แบบสอบถามมีดังนี้ −

mysql> อธิบาย AddingAutoIncrement;

ตัวอย่างผลลัพธ์

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

ดูผลลัพธ์ด้านบนและชื่อคอลัมน์ 'พิเศษ' ในชื่อคอลัมน์ 'พิเศษ' มีคำสำคัญ auto_increment นี่บอกว่าเราเพิ่มคีย์เวิร์ดสำเร็จแล้ว

ตอนนี้ฉันกำลังจะแทรกระเบียนและตรวจสอบว่าแถวนั้นเพิ่มขึ้นทีละหนึ่งหรือไม่ แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า AddingAutoIncrement(Name) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า AddingAutoIncrement(Name) ('Smith');Query OK, 1 แถวได้รับผลกระทบ ( 0.12 วินาที) mysql> แทรกลงในค่า AddingAutoIncrement (ชื่อ) ('Bob'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)

แสดงระเบียนทั้งหมดโดยใช้คำสั่ง SELECT

mysql> เลือก *จาก AddingAutoIncrement;

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

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | จอห์น || 2 | สมิธ || 3 | Bob |+----+-------+3 แถวในชุด (0.00 วินาที)

ดังที่คุณเห็นในผลลัพธ์ด้านบน แถวจะเพิ่มขึ้น 1