Straipsnių katalogas
MySQLKaip sukurti seką?MySQL duomenų bazėSukurkite automatiškai didėjančios sekos sakinį
MySQL sekos naudojimas
MySQL seka yra sveikųjų skaičių rinkinys: 1, 2, 3, ..., kadangi duomenų lentelėje gali būti tik vienas lauko automatinio padidinimo pirminis raktas, jei norite pasiekti automatinį kitų laukų padidėjimą, galite naudoti MySQL seką pasiekti.
Šiame skyriuje aprašysime, kaip naudoti MySQL sekas.
Naudokite AUTO_INCREMENT
Lengviausias būdas naudoti sekas MySQL yra naudoti MySQL AUTO_INCREMENT stulpeliams apibrėžti.
pavyzdys
Duomenų lentelė Vabzdys sukurta toliau pateiktame pavyzdyje, kur nenurodyta automatinio augimo reikšmė.
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 秒)
Gaukite AUTO_INCREMENT vertę
MySQL kliente galite naudoti SQL funkciją LAST_INSERT_ID(), kad gautumėte paskutinio automatiškai padidinto stulpelio, įterpto į lentelę, reikšmę.
Atitinkamos funkcijos taip pat pateikiamos PHP arba PERL scenarijuje, kad gautų paskutinio į lentelę įterpto automatinio padidinimo stulpelio reikšmę.
PERL egzempliorius
Norėdami gauti AUTO_INCREMENT reikšmę, naudokite ypatybę mysql_insertid.Pavyzdžiai yra tokie:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
PHP pavyzdys
PHP gauna AUTO_INCREMENT stulpelio reikšmę vykdomame įterpimo SQL sakinyje per funkciją mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
iš naujo nustatyti seką
Jei duomenų lentelėje ištrinate kelis įrašus ir norite pertvarkyti likusių duomenų stulpelį AUTO_INCREMENT, tai galite padaryti ištrindami automatinio didinimo stulpelį ir vėl jį pridėdami.Tačiau ši operacija turi būti labai atsargi, jei apskritai reikia.Ištrynimo metu pridedami nauji įrašai ir gali kilti duomenų painiavos. Veiksmai yra tokie:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Nustatykite sekos pradžios reikšmę
Paprastai sekos pradinė reikšmė yra 1, bet jei reikia nurodyti pradinę reikšmę 100, tai galime padaryti naudodami šį teiginį:
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 ;
Arba sėkmingai sukūrę lentelę galite naudoti šį teiginį:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Hope Chen Weiliang tinklaraštis ( https://www.chenweiliang.com/ ) pasidalino „Kaip MySQL sukuria seką? „MySQL“ duomenų bazė, skirta sukurti savaime didėjantį sekos pareiškimą“, kad padėtų jums.
Kviečiame pasidalinti šio straipsnio nuoroda:https://www.chenweiliang.com/cwl-498.html
Sveiki atvykę į Chen Weiliang tinklaraščio Telegram kanalą, kad gautumėte naujausius atnaujinimus!
📚 Šis vadovas turi didžiulę vertę, 🌟Tai reta galimybė, nepraleiskite jos! ⏰⌛💨
Dalinkitės ir like jei patiko!
Jūsų dalijimasis ir paspaudimai „Patinka“ yra mūsų nuolatinė motyvacija!