ไดเรกทอรีบทความ
MySQLจะสร้างลำดับได้อย่างไร?ฐานข้อมูล MySQLสร้างคำสั่งลำดับการเพิ่มอัตโนมัติ
การใช้ลำดับ MySQL
ลำดับ MySQL เป็นชุดของจำนวนเต็ม: 1, 2, 3, ... เนื่องจากตารางข้อมูลสามารถมีคีย์หลักที่เพิ่มขึ้นอัตโนมัติได้เพียงหนึ่งฟิลด์เท่านั้น หากคุณต้องการเพิ่มฟิลด์อื่นโดยอัตโนมัติ คุณสามารถใช้ลำดับ MySQL เพื่อ บรรลุ.
ในบทนี้เราจะอธิบายวิธีการใช้ลำดับ MySQL
ใช้ AUTO_INCREMENT
วิธีที่ง่ายที่สุดในการใช้ลำดับใน MySQL คือการใช้ MySQL AUTO_INCREMENT เพื่อกำหนดคอลัมน์
ตัวอย่าง
ตารางข้อมูล Insect ถูกสร้างขึ้นในตัวอย่างต่อไปนี้ โดยไม่ได้ระบุค่าสำหรับการเติบโตโดยอัตโนมัติ
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,#昆虫类型- > 日期DATE NOT NULL ,#收集日期- > origin VARCHAR (30 )NOT NULL #where collected ); 查询OK ,0 行受影响(0.02 秒) mysql > INSERT INTO insects (id ,name ,date ,origin )VALUES - > (NULL ,'housefly' ,'2001-09-10' ,'kitchen' ),- > (NULL ,'millipede' ,'2001-09-10 ' ,'车道' ),- > (NULL ,'grasshopper' ,'2001-09-10' ,'front yard' ); 查询OK , 秒)记录:3 重复:0 警告:0 mysql > 选择* 从昆虫ORDER BY ID ; + ---- + ------------- + ------------ + ------------ + | id | 名字 | 日期 | 起源 | + ---- + ------------- + ------------ + ------------ + | 1 | 家蝇 | 2001 - 09 - 10 | 厨房 | | 2 | 千足虫 | 2001 - 09 - 10 | 车道 | | 3 | 蚱蜢| 2001 - 09 - 10 | 前院| + ---- + ------------- + ------------ + ------------ + 3 行中集(0.00 秒)
รับค่า AUTO_INCREMENT
ในไคลเอนต์ MySQL คุณสามารถใช้ฟังก์ชัน LAST_INSERT_ID() ใน SQL เพื่อรับค่าของคอลัมน์ที่เพิ่มขึ้นอัตโนมัติล่าสุดที่แทรกลงในตาราง
ฟังก์ชันที่สอดคล้องกันยังมีให้ในสคริปต์ PHP หรือ PERL เพื่อรับค่าของคอลัมน์เพิ่มอัตโนมัติล่าสุดที่แทรกลงในตาราง
อินสแตนซ์ PERL
ใช้คุณสมบัติ mysql_insertid เพื่อรับค่า AUTO_INCREMENTตัวอย่างมีดังนี้:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
ตัวอย่าง PHP
PHP รับค่าของคอลัมน์ AUTO_INCREMENT ในคำสั่ง SQL แทรกที่ดำเนินการผ่านฟังก์ชัน mysql_insert_id()
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
รีเซ็ตลำดับ
หากคุณลบหลายระเบียนในตารางข้อมูลและต้องการจัดเรียงคอลัมน์ AUTO_INCREMENT ใหม่ของข้อมูลที่เหลือ คุณสามารถทำได้โดยลบคอลัมน์ที่เพิ่มค่าอัตโนมัติแล้วเพิ่มใหม่อีกครั้งอย่างไรก็ตาม การดำเนินการนี้ต้องระวังให้มากในเวลาเดียวกันของการลบ เร็กคอร์ดใหม่จะถูกเพิ่ม และอาจเกิดความสับสนของข้อมูล การดำเนินการมีดังนี้:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
ตั้งค่าเริ่มต้นของลำดับ
โดยทั่วไป ค่าเริ่มต้นของลำดับคือ 1 แต่ถ้าคุณต้องการระบุค่าเริ่มต้น 100 เราก็สามารถทำได้ด้วยคำสั่งต่อไปนี้:
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,- > date DATE NOT NULL ,- > origin VARCHAR (30 )NOT NULL )engine = innodb auto_increment = 100 charset = utf8 ;
หรือคุณสามารถใช้คำสั่งต่อไปนี้หลังจากที่สร้างตารางสำเร็จแล้ว:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ " MySQL สร้างลำดับอย่างไร? ฐานข้อมูล MySQL เพื่อสร้างคำสั่งลำดับที่เพิ่มขึ้นเอง" เพื่อช่วยคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-498.html
ยินดีต้อนรับสู่ช่อง Telegram ของบล็อกของ Chen Weiliang เพื่อรับข่าวสารล่าสุด!
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!