Hvordan opretter MySQL sekvenser? MySQL database oprettelse auto-increment sekvens sætning

MySQLHvordan laver man en sekvens?MySQL databaseOpret en sekvenserklæring med automatisk stigning

Brug af MySQL-sekvens

MySQL-sekvensen er et sæt af heltal: 1, 2, 3, ..., da en datatabel kun kan have ét felt auto-increment primær nøgle, hvis du ønsker at opnå automatisk increment af andre felter, kan du bruge MySQL rækkefølge at opnå.

I dette kapitel vil vi beskrive, hvordan du bruger MySQL-sekvenser.


Brug AUTO_INCREMENT

Den nemmeste måde at bruge sekvenser i MySQL er at bruge MySQL AUTO_INCREMENT til at definere kolonner.

Instans

Datatabellen Insect oprettes i følgende eksempel, hvor der ikke er angivet nogen værdi for at opnå automatisk vækst.

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   
     

  

Få AUTO_INCREMENT værdi

I MySQL-klienten kan du bruge funktionen LAST_INSERT_ID() i SQL til at få værdien af ​​den sidste auto-inkrementerede kolonne indsat i tabellen.

Tilsvarende funktioner er også tilvejebragt i PHP- eller PERL-scriptet for at få værdien af ​​den sidste auto-inkrementerede kolonne indsat i tabellen.

PERL-forekomst

Brug egenskaben mysql_insertid til at få værdien af ​​AUTO_INCREMENT.Eksempler er som følger:

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

PHP eksempel

PHP henter værdien af ​​kolonnen AUTO_INCREMENT i den udførte indsæt SQL-sætning gennem funktionen mysql_insert_id().

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

nulstil sekvens

Hvis du sletter flere poster i datatabellen og ønsker at omarrangere AUTO_INCREMENT-kolonnen for de resterende data, kan du gøre det ved at slette den automatiske inkrementeringskolonne og derefter tilføje den igen.Denne operation skal dog være meget forsigtig, hvis overhovedet.Samtidig med sletningen tilføjes nye registreringer, og der kan opstå dataforvirring Handlingerne er som følger:

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

Indstil startværdien for sekvensen

Generelt er startværdien af ​​sekvensen 1, men hvis du skal angive en startværdi på 100, så kan vi gøre det med følgende udsagn:

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 ; 
    
    
     
    
    

Eller du kan også bruge følgende sætning, efter at tabellen er oprettet:

mysql > ALTER TABLE t AUTO_INCREMENT = 100 ; 

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delt "Hvordan opretter MySQL en sekvens? MySQL-database for at skabe selvforøgende sekvenserklæring", for at hjælpe dig.

Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-498.html

Velkommen til Telegram-kanalen på Chen Weiliangs blog for at få de seneste opdateringer!

🔔 Vær den første til at få den værdifulde "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens øverste bibliotek! 🌟
📚 Denne guide indeholder enorm værdi, 🌟Dette er en sjælden mulighed, gå ikke glip af det! ⏰⌛💨
Del og like hvis du har lyst!
Din deling og likes er vores kontinuerlige motivation!

 

发表 评论

Din e-mail-adresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

scroll til toppen