Artikulu direktorioa
MySQLNola sortu sekuentzia bat?MySQL datu-baseaSortu automatikoki gehitzen den sekuentzia adierazpena
MySQL sekuentziaren erabilera
MySQL sekuentzia zenbaki osoen multzo bat da: 1, 2, 3, ..., datu-taulak eremu bat automatikoki gehitzeko gako nagusi bakarra izan dezakeenez, beste eremu batzuen gehikuntza automatikoa lortu nahi baduzu, MySQL sekuentzia erabil dezakezu. lortu.
Kapitulu honetan MySQL sekuentziak nola erabili deskribatuko dugu.
Erabili AUTO_INCREMENT
MySQL-n sekuentziak erabiltzeko modurik errazena MySQL AUTO_INCREMENT erabiltzea da zutabeak definitzeko.
adibidea
Datu-taula Intsektua hurrengo adibidean sortzen da, non hazkuntza automatikorako baliorik ez den zehazten.
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 秒)
Lortu AUTO_INCREMENT balioa
MySQL bezeroan LAST_INSERT_ID() funtzioa erabil dezakezu SQL-n automatikoki gehitutako azken zutabearen balioa lortzeko.
Dagokion funtzioak ere eskaintzen dira PHP edo PERL scriptean taulan txertatutako azken auto-incremento zutabearen balioa lortzeko.
PERL adibidea
Erabili mysql_insertid propietatea AUTO_INCREMENT-ren balioa lortzeko.Adibideak honako hauek dira:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
PHP adibidea
PHP-k AUTO_INCREMENT zutabearen balioa lortzen du exekutatutako txertatze SQL instrukzioan mysql_insert_id() funtzioaren bidez.
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
berrezarri sekuentzia
Datu-taulan hainbat erregistro ezabatzen badituzu eta gainerako datuen AUTO_INCREMENT zutabea berrantolatu nahi baduzu, egin dezakezu gehikuntza automatikoko zutabea ezabatu eta berriro gehituz.Hala ere, eragiketa hau kontu handiz ibili behar da, bada.Ezabatzen den aldi berean, erregistro berriak gehitzen dira, eta baliteke datuak nahastea. Eragiketak hauek dira:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Ezarri sekuentziaren hasierako balioa
Oro har, sekuentziaren hasierako balioa 1 da, baina hasierako balioa 100 zehaztu behar baduzu, honako adierazpenarekin egin dezakegu:
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 ;
Edo ondoko adierazpena ere erabil dezakezu taula ondo sortu ondoren:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Hope Chen Weiliang bloga ( https://www.chenweiliang.com/ ) shared "Nola sortzen du MySQL-k sekuentzia bat? MySQL datu-base sekuentzia auto-inkrementatzailea sortzeko", zuri laguntzeko.
Ongi etorri artikulu honen esteka partekatzera:https://www.chenweiliang.com/cwl-498.html
Ongi etorri Chen Weiliang-en blogeko Telegram kanalera azken eguneraketak jasotzeko!
📚 Gida honek balio handia du, 🌟Aukera arraroa da hau, ez galdu! ⏰⌛💨
Partekatu eta gustatzen bazaizu!
Zure partekatzea eta gustukoak dira gure etengabeko motibazioa!