Directori d'articles
MySQLCom crear una seqüència?Base de dades MySQLCreeu una instrucció de seqüència d'increment automàtic
Ús de la seqüència MySQL
La seqüència de MySQL és un conjunt d'enters: 1, 2, 3, ..., ja que una taula de dades només pot tenir una clau primària d'increment automàtic de camp, si voleu aconseguir l'increment automàtic d'altres camps, podeu utilitzar la seqüència de MySQL per aconseguir.
En aquest capítol descriurem com utilitzar les seqüències de MySQL.
Utilitza AUTO_INCREMENT
La manera més senzilla d'utilitzar seqüències a MySQL és utilitzar MySQL AUTO_INCREMENT per definir columnes.
Instància
La taula de dades Insect es crea a l'exemple següent, on no s'especifica cap valor per al creixement automàtic.
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 秒)
Obteniu el valor AUTO_INCREMENT
Al client MySQL podeu utilitzar la funció LAST_INSERT_ID() en SQL per obtenir el valor de l'última columna autoincrementada inserida a la taula.
Les funcions corresponents també es proporcionen a l'script PHP o PERL per obtenir el valor de l'última columna d'increment automàtic inserida a la taula.
Instància PERL
Utilitzeu la propietat mysql_insertid per obtenir el valor de AUTO_INCREMENT.Els exemples són els següents:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Exemple PHP
PHP obté el valor de la columna AUTO_INCREMENT a la instrucció d'inserció SQL executada mitjançant la funció mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
seqüència de reinici
Si suprimiu diversos registres de la taula de dades i voleu reorganitzar la columna AUTO_INCREMENT de les dades restants, podeu fer-ho suprimint la columna d'increment automàtic i tornant a afegir-la.No obstant això, aquesta operació ha de ser molt curosa, si és que és possible.En el mateix moment de la supressió, s'afegeixen nous registres i pot haver-hi confusió de dades. Les operacions són les següents:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Estableix el valor inicial de la seqüència
En general, el valor inicial de la seqüència és 1, però si necessiteu especificar un valor inicial de 100, podem fer-ho amb la següent instrucció:
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 ;
O també podeu utilitzar la instrucció següent després de crear la taula correctament:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartit "Com crea MySQL una seqüència? Base de dades MySQL per crear una declaració de seqüència autoincrementant", per ajudar-vos.
Benvingut a compartir l'enllaç d'aquest article:https://www.chenweiliang.com/cwl-498.html
Benvingut al canal de Telegram del bloc de Chen Weiliang per rebre les últimes actualitzacions!
📚 Aquesta guia té un gran valor, 🌟Aquesta és una oportunitat rara, no la perdis! ⏰⌛💨
Comparteix i m'agrada si t'agrada!
Els vostres likes i compartir són la nostra motivació contínua!