Artikel Directory
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!
📚 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!