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

MySQL:'AUTO_INCREMENT=5' ในการสร้างแบบสอบถามตารางคืออะไร


AUTO_INCREMENT=5 ในคิวรี่สร้างตารางบอกว่าเร็กคอร์ดแรกจะเริ่มต้นจาก 5 เช่น ไม่ใช่ค่าดีฟอลต์ 1. ดังที่เราทราบหากคุณไม่ได้ตั้งค่าเป็น AUTO_INCREMENT จากนั้น MySQL จะเริ่มต้นจาก 1 โดยค่าเริ่มต้น

ไวยากรณ์มีดังนี้:

สร้างตาราง yourTableName(yourColumnName1 dataType NOT NULL AUTO_INCRMENT,...N,PRIMARY KEY(yourColumnName1 ))AUTO_INCREMENT=5;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง

กรณีที่1 - ตารางเริ่มเพิ่มขึ้นอัตโนมัติจาก 1 เนื่องจากเป็นมาตรฐานเริ่มต้น

แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง defaultAutoIncrementDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (2.19 วินาที) 

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า defaultAutoIncrementDemo(Name) ('John');Query OK, 1 แถวที่ได้รับผลกระทบ (0.23 วินาที)mysql> แทรกลงในค่า defaultAutoIncrementDemo(Name) ('James');Query OK, 1 แถวได้รับผลกระทบ ( 0.14 วินาที) mysql> แทรกลงในค่า defaultAutoIncrementDemo (ชื่อ) ('โรเบิร์ต'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า defaultAutoIncrementDemo (ชื่อ) ('ไมค์'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที)

ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดและตรวจสอบว่าแถวจะเริ่มต้นจาก 1 การสืบค้นมีดังนี้:

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

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

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

กรณีที่2 - นี่คือการสืบค้นเพื่อเริ่มต้น auto_increment จาก 5 การสืบค้นเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง AutoIncrementStartsFrom5-> (-> Id int ไม่ใช่ NULL AUTO_INCREMENT,-> Name varchar(10),-> PRIMARY KEY(Id)-> )AUTO_INCREMENT=5;Query OK, 0 แถวได้รับผลกระทบ (1.00 วินาที )

ตอนนี้แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า AutoIncrementStartsFrom5(Name)('Larry');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า AutoIncrementStartsFrom5(Name)('David');Query OK, 1 แถวได้รับผลกระทบ ( 0.20 วินาที) mysql> แทรกลงในค่า AutoIncrementStartsFrom5 (ชื่อ) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า AutoIncrementStartsFrom5 (ชื่อ) ('Ricky'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

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

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

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 5 | แลร์รี่ || 6 | เดวิด || 7 | บ๊อบ || 8 | Ricky |+----+-------+4 แถวในชุด (0.00 วินาที)

ดูผลลัพธ์ตัวอย่าง auto_increment เริ่มตั้งแต่ 5