Artikulo Direktoryo
MySQLPaano gumawa ng sequence?MySQL databaseGumawa ng auto-incrementing sequence statement
Paggamit ng pagkakasunud-sunod ng MySQL
Ang MySQL sequence ay isang set ng mga integer: 1, 2, 3, ..., dahil ang isang data table ay maaari lamang magkaroon ng isang field auto-increment primary key, kung gusto mong makamit ang awtomatikong pagdaragdag ng iba pang mga field, maaari mong gamitin ang MySQL sequence upang makamit.
Sa kabanatang ito, ilalarawan natin kung paano gamitin ang mga sequence ng MySQL.
Gamitin ang AUTO_INCREMENT
Ang pinakamadaling paraan upang gumamit ng mga sequence sa MySQL ay ang paggamit ng MySQL AUTO_INCREMENT upang tukuyin ang mga column.
Pangyayari
Ang talahanayan ng data na Insect ay nilikha sa sumusunod na halimbawa, kung saan walang tinukoy na halaga para sa awtomatikong paglaki.
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 秒)
Kumuha ng halaga ng AUTO_INCREMENT
Sa MySQL client maaari mong gamitin ang LAST_INSERT_ID() function sa SQL upang maipasok ang halaga ng huling awtomatikong incremented na column sa talahanayan.
Ang mga kaukulang function ay ibinibigay din sa PHP o PERL script upang makuha ang halaga ng huling column ng auto-increment na ipinasok sa talahanayan.
Halimbawa ng PERL
Gamitin ang mysql_insertid property para makuha ang halaga ng AUTO_INCREMENT.Ang mga halimbawa ay ang mga sumusunod:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Halimbawa ng PHP
Nakukuha ng PHP ang halaga ng column na AUTO_INCREMENT sa ipinatupad na insert SQL statement sa pamamagitan ng mysql_insert_id() function.
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
i-reset ang pagkakasunod-sunod
Kung magde-delete ka ng maraming tala sa talahanayan ng data at gusto mong muling ayusin ang column na AUTO_INCREMENT ng natitirang data, magagawa mo ito sa pamamagitan ng pagtanggal sa column ng auto-incrementing at pagkatapos ay idagdag itong muli.Gayunpaman, ang operasyong ito ay kailangang maging maingat, kung mayroon man.Kasabay ng pagtanggal, nagdaragdag ng mga bagong tala, at maaaring magkaroon ng pagkalito sa data. Ang mga operasyon ay ang mga sumusunod:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Itakda ang panimulang halaga ng sequence
Sa pangkalahatan, ang panimulang halaga ng pagkakasunud-sunod ay 1, ngunit kung kailangan mong tukuyin ang panimulang halaga ng 100, magagawa natin ito sa sumusunod na pahayag:
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 ;
O maaari mo ring gamitin ang sumusunod na pahayag pagkatapos na matagumpay na magawa ang talahanayan:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ibinahagi "Paano gumagawa ang MySQL ng isang pagkakasunud-sunod? MySQL database upang lumikha ng self-incrementing sequence statement", upang matulungan ka.
Maligayang pagdating upang ibahagi ang link ng artikulong ito:https://www.chenweiliang.com/cwl-498.html
Maligayang pagdating sa Telegram channel ng blog ni Chen Weiliang para makuha ang pinakabagong mga update!
📚 Ang gabay na ito ay naglalaman ng malaking halaga, 🌟Ito ay isang bihirang pagkakataon, huwag palampasin ito! ⏰⌛💨
Share and like kung gusto mo!
Ang iyong pagbabahagi at pag-like ay ang aming patuloy na pagganyak!