Hoe makket MySQL sekwinsjes? MySQL-database oanmeitsjen auto-increment sequence statement

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 ; 

发表 评论

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden wurde brûkt * Etiket

Scroll nei boppen