Artikel Directory
MySQLHoe meitsje in folchoarder?MySQL databankMeitsje in auto-tanimmende folchoarder statement
MySQL-sekwinsjegebrûk
MySQL-sekwinsje is in set fan heule getallen: 1, 2, 3, ..., om't in gegevenstabel mar ien fjild auto-increment primêre kaai kin hawwe, as jo automatyske tanimming fan oare fjilden wolle berikke, kinne jo MySQL-sekwinsje brûke om berikke.
Yn dit haadstik sille wy beskriuwe hoe't jo MySQL-sekwinsjes brûke.
Brûk AUTO_INCREMENT
De maklikste manier om sekwinsjes yn MySQL te brûken is MySQL AUTO_INCREMENT te brûken om kolommen te definiearjen.
Instance
De gegevenstabel Insect wurdt makke yn it folgjende foarbyld, wêr't gjin wearde is oanjûn foar automatyske groei.
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 秒)
Krij AUTO_INCREMENT wearde
Yn 'e MySQL-kliïnt kinne jo de LAST_INSERT_ID () funksje yn SQL brûke om de wearde fan' e lêste auto-ynkrementearre kolom yn 'e tabel te krijen.
Oerienkommende funksjes wurde ek foarsjoen yn it PHP- of PERL-skript om de wearde te krijen fan 'e lêste auto-increment-kolom ynfoege yn' e tabel.
Foarbyld fan PERL
Brûk de eigenskip mysql_insertid om de wearde fan AUTO_INCREMENT te krijen.Foarbylden binne as folget:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Foarbyld fan PHP
PHP krijt de wearde fan 'e AUTO_INCREMENT-kolom yn' e útfierde SQL-ynfoegje útspraak fia de mysql_insert_id () funksje.
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
weromsette folchoarder
As jo meardere records yn 'e gegevenstabel wiskje en de AUTO_INCREMENT-kolom fan' e oerbleaune gegevens opnij regelje wolle, kinne jo dit dwaan troch de auto-inkrementearjende kolom te wiskjen en dan wer ta te foegjen.Lykwols, dizze operaasje moat wêze hiel foarsichtich, as at all.Tagelyk fan wiskjen wurde nije records tafoege, en d'r kin gegevensferwarring wêze. De operaasjes binne as folget:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Stel de startwearde fan 'e folchoarder yn
Yn 't algemien is de startwearde fan' e folchoarder 1, mar as jo in startwearde fan 100 moatte opjaan, dan kinne wy it dwaan mei de folgjende ferklearring:
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 ;
Of jo kinne ek de folgjende ferklearring brûke nei't de tabel mei sukses makke is:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) dield "Hoe makket MySQL in sekwinsje oan? MySQL-database om sels-inkrementearjende folchoarderstelling te meitsjen", om jo te helpen.
Wolkom om de keppeling fan dit artikel te dielen:https://www.chenweiliang.com/cwl-498.html
Om mear ferburgen trúks te ûntsluten🔑, wolkom om mei te dwaan oan ús Telegram-kanaal!
Diel en like as jo it leuk fine! Jo oandielen en likes binne ús oanhâldende motivaasje!