Adresář článků
MySQLJak vytvořit sekvenci?MySQL databázeVytvořte příkaz automatické inkrementace sekvence
Použití sekvence MySQL
Sekvence MySQL je sada celých čísel: 1, 2, 3, ..., protože datová tabulka může mít pouze jeden primární klíč automatického přírůstku pole, pokud chcete dosáhnout automatického přírůstku dalších polí, můžete použít sekvenci MySQL k dosáhnout.
V této kapitole popíšeme, jak používat sekvence MySQL.
Použijte AUTO_INCREMENT
Nejjednodušším způsobem použití sekvencí v MySQL je použití MySQL AUTO_INCREMENT k definování sloupců.
Instance
V následujícím příkladu je vytvořena datová tabulka Insect, ve které není zadána žádná hodnota pro automatický růst.
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 秒)
Získejte hodnotu AUTO_INCREMENT
V klientovi MySQL můžete pomocí funkce LAST_INSERT_ID() v SQL získat hodnotu posledního automaticky inkrementovaného sloupce vloženého do tabulky.
Odpovídající funkce jsou také poskytovány ve skriptu PHP nebo PERL pro získání hodnoty posledního automaticky inkrementovaného sloupce vloženého do tabulky.
instance PERL
Pomocí vlastnosti mysql_insertid získáte hodnotu AUTO_INCREMENT.Příklady jsou následující:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Příklad PHP
PHP získá hodnotu sloupce AUTO_INCREMENT v provedeném příkazu insert SQL pomocí funkce mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
resetovací sekvence
Pokud odstraníte více záznamů v datové tabulce a chcete změnit uspořádání sloupce AUTO_INCREMENT zbývajících dat, můžete tak učinit odstraněním sloupce s automatickým přírůstkem a jeho opětovným přidáním.Tato operace však musí být velmi opatrná, pokud vůbec.Současně s mazáním se přidávají nové záznamy a může dojít k záměně dat. Operace jsou následující:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Nastavte počáteční hodnotu sekvence
Obecně je počáteční hodnota sekvence 1, ale pokud potřebujete zadat počáteční hodnotu 100, můžeme to udělat pomocí následujícího příkazu:
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 ;
Nebo můžete také použít následující příkaz po úspěšném vytvoření tabulky:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Jak MySQL vytváří sekvenci? MySQL databáze k vytvoření samo-inkrementálního příkazu sekvence“, aby vám pomohl.
Vítejte u sdílení odkazu na tento článek:https://www.chenweiliang.com/cwl-498.html
Vítejte na telegramovém kanálu blogu Chen Weiliang, kde získáte nejnovější aktualizace!
📚 Tento průvodce má obrovskou hodnotu, 🌟Toto je vzácná příležitost, nenechte si ji ujít! ⏰⌛💨
Sdílejte a lajkujte, pokud se vám líbí!
Vaše sdílení a lajky jsou naší neustálou motivací!