Direttorju tal-Artikoli
MySQLKif toħloq sekwenza?database MySQLOħloq dikjarazzjoni ta' sekwenza awto-inkrementali
Użu tas-sekwenza MySQL
Is-sekwenza MySQL hija sett ta 'numri interi: 1, 2, 3, ..., peress li tabella tad-dejta jista' jkollha biss ċavetta primarja ta' inkrement awtomatiku ta' qasam wieħed, jekk trid tikseb inkrement awtomatiku ta' oqsma oħra, tista' tuża l-MySQL sekwenza biex tinkiseb.
F'dan il-kapitlu ser niddeskrivu kif tuża sekwenzi MySQL.
Uża AUTO_INCREMENT
L-eħfef mod biex tuża sekwenzi fil-MySQL huwa li tuża MySQL AUTO_INCREMENT biex tiddefinixxi l-kolonni.
eżempju
It-tabella tad-dejta Insect tinħoloq fl-eżempju li ġej, fejn l-ebda valur mhu speċifikat għal tkabbir awtomatiku.
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 秒)
Ikseb il-valur AUTO_INCREMENT
Fil-klijent MySQL tista 'tuża l-funzjoni LAST_INSERT_ID() fl-SQL biex tikseb il-valur tal-aħħar kolonna awto-inkrementata mdaħħla fit-tabella.
Funzjonijiet korrispondenti huma pprovduti wkoll fl-iskrittura PHP jew PERL biex jinkiseb il-valur tal-aħħar kolonna awto-inkrement imdaħħla fit-tabella.
PERL eżempju
Uża l-proprjetà mysql_insertid biex tikseb il-valur ta 'AUTO_INCREMENT.Eżempji huma kif ġej:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Eżempju PHP
PHP jikseb il-valur tal-kolonna AUTO_INCREMENT fid-dikjarazzjoni eżegwita inserzjoni SQL permezz tal-funzjoni mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
reset sekwenza
Jekk tħassar rekords multipli fit-tabella tad-dejta u trid tirranġa mill-ġdid il-kolonna AUTO_INCREMENT tad-dejta li jifdal, tista 'tagħmel dan billi tħassar il-kolonna awto-inkrementali u mbagħad iżżidha mill-ġdid.Madankollu, din l-operazzjoni trid tkun attenta ħafna, jekk xejn.Fl-istess ħin tat-tħassir, jiżdiedu rekords ġodda, u jista' jkun hemm konfużjoni tad-dejta. L-operazzjonijiet huma kif ġej:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Issettja l-valur tal-bidu tas-sekwenza
B'mod ġenerali, il-valur tal-bidu tas-sekwenza huwa 1, imma jekk għandek bżonn tispeċifika valur tal-bidu ta '100, allura nistgħu nagħmluha bid-dikjarazzjoni li ġejja:
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 ;
Jew tista' wkoll tuża d-dikjarazzjoni li ġejja wara li t-tabella tinħoloq b'suċċess:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) maqsuma "Kif MySQL joħloq sekwenza? Database MySQL biex toħloq dikjarazzjoni tas-sekwenza awto-inkrementali", biex tgħinek.
Merħba biex taqsam il-link ta' dan l-artikolu:https://www.chenweiliang.com/cwl-498.html
Merħba fil-kanal Telegram tal-blog ta' Chen Weiliang biex tikseb l-aħħar aġġornamenti!
📚 Din il-gwida fiha valur kbir, 🌟Din hija opportunità rari, titlifhiex! ⏰⌛💨
Share u like jekk togħġobkom!
Il-qsim u l-likes tiegħek huma l-motivazzjoni kontinwa tagħna!