Kiel MySQL kreas sekvencojn? MySQL datumbazkreado aŭto-inkrementa sekvenco deklaro

MySQLKiel krei sekvencon?MySQL-datumbazoKreu aŭtomate pligrandigan sinsekvan deklaron

MySQL-sekvenca uzado

MySQL-sekvenco estas aro de entjeroj: 1, 2, 3, ..., ĉar datumtabelo povas nur havi unu kampon aŭtomat-inkrementan ĉefan ŝlosilon, se vi volas atingi aŭtomatan pliigon de aliaj kampoj, vi povas uzi MySQL-sekvencon por atingi.

En ĉi tiu ĉapitro ni priskribos kiel uzi MySQL-sekvencojn.


Uzu AUTO_INCREMENT

La plej facila maniero uzi sekvencojn en MySQL estas uzi MySQL AUTO_INCREMENT por difini kolumnojn.

ekzemplo

La datumtabelo Insekto estas kreita en la sekva ekzemplo, en kiu neniu valoro estas specifita por atingi aŭtomatan kreskon.

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   
     

  

Akiru AUTO_INCREMENT valoron

En la MySQL-kliento vi povas uzi la funkcion LAST_INSERT_ID() en SQL por akiri la valoron de la lasta aŭtomate pliigita kolumno enigita en la tabelon.

Ekvivalentaj funkcioj ankaŭ estas provizitaj en la PHP aŭ PERL-skripto por akiri la valoron de la lasta aŭto-pliiga kolumno enigita en la tabelon.

PERL ekzemplo

Uzu la posedaĵon mysql_insertid por akiri la valoron de AUTO_INCREMENT.Ekzemploj estas kiel sekvas:

$ dbh - > do “INSERT INTO insect(name,date,origin) 
VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };

PHP ekzemplo

PHP akiras la valoron de la AUTO_INCREMENT-kolumno en la ekzekutita insert SQL-deklaro per la mysql_insert_id() funkcio.

mysql_query “INSERT INTO昆虫(名字,日期,起源)
VALUES('moth','2001-09-14','windowsill')“ $ conn_id ); 
$ seq = mysql_insert_id $ conn_id );

restarigi sekvencon

Se vi forigas plurajn rekordojn en la datumtabelo kaj volas rearanĝi la AUTO_INCREMENT-kolumnon de la ceteraj datumoj, vi povas fari tion forigante la aŭtomate-inkrementan kolumnon kaj poste aldonante ĝin denove.Tamen, ĉi tiu operacio devas esti tre zorgema, se entute.Samtempe de forigo, novaj rekordoj estas aldonitaj, kaj povas esti datuma konfuzo. La operacioj estas jenaj:

mysql > ALTER TABLE昆虫DROP ID ; 
mysql > ALTER TABLE昆虫
     - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST - > ADD PRIMARY KEY id );
    

Agordu la komencan valoron de la sekvenco

Ĝenerale, la komenca valoro de la sekvenco estas 1, sed se vi bezonas specifi komencan valoron de 100, tiam ni povas fari ĝin per la sekva deklaro:

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 ; 
    
    
     
    
    

Aŭ vi ankaŭ povas uzi la sekvan deklaron post kiam la tabelo estas sukcese kreita:

mysql > ALTER TABLE t AUTO_INCREMENT = 100 ; 

Hope Chen Weiliang Blogo ( https://www.chenweiliang.com/ ) konigis "Kiel MySQL kreas sekvencon? MySQL-datumbazo por krei mem-inkrementan sinsekvan deklaron", por helpi vin.

Bonvenon dividi la ligon de ĉi tiu artikolo:https://www.chenweiliang.com/cwl-498.html

Bonvenon al la Telegram-kanalo de la blogo de Chen Weiliang por ricevi la plej novajn ĝisdatigojn!

🔔 Estu la unua ricevi la valoran "ChatGPT Content Marketing AI Tool Use Guide" en la ĉefa dosierujo de la kanalo! 🌟
📚 Ĉi tiu gvidilo enhavas grandegan valoron, 🌟Ĉi tio estas malofta ŝanco, ne maltrafu ĝin! ⏰⌛💨
Kunhavigu kaj ŝatu se vi ŝatas!
Via kundivido kaj ŝatoj estas nia kontinua instigo!

 

Lasu komenton

Via retpoŝta adreso ne estos publikigita. Bezonataj kampoj estas uzataj * Etikedo

rulumu al la supro