Kaip MySQL sukuria sekas? MySQL duomenų bazės kūrimo automatinio padidinimo sekos sakinys

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!

🔔 Būkite pirmas, kuris kanalo viršaus kataloge gaus vertingą „ChatGPT turinio rinkodaros AI įrankio naudojimo vadovą“! 🌟
📚 Š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!

 

发表 评论

Jūsų el. Pašto adresas nebus paskelbtas. Naudojami privalomi laukai * Etiketė

slinkite į viršų