Directory articoli
MySQLCome creare una sequenza?Database MySQLCrea un'istruzione di sequenza con incremento automatico
Utilizzo della sequenza MySQL
La sequenza MySQL è un insieme di numeri interi: 1, 2, 3, ..., poiché una tabella di dati può avere solo una chiave primaria di incremento automatico del campo, se si desidera ottenere l'incremento automatico di altri campi, è possibile utilizzare la sequenza MySQL per raggiungere.
In questo capitolo descriveremo come utilizzare le sequenze di MySQL.
Usa AUTO_INCREMENT
Il modo più semplice per utilizzare le sequenze in MySQL è utilizzare MySQL AUTO_INCREMENT per definire le colonne.
Esempio
La tabella dati Insect viene creata nell'esempio seguente, in cui non viene specificato alcun valore per la crescita automatica.
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 秒)
Ottieni il valore AUTO_INCREMENT
Nel client MySQL è possibile utilizzare la funzione LAST_INSERT_ID() in SQL per ottenere il valore dell'ultima colonna autoincrementata inserita nella tabella.
Nello script PHP o PERL sono inoltre fornite funzioni corrispondenti per ottenere il valore dell'ultima colonna autoincrementata inserita nella tabella.
Istanza PERL
Utilizzare la proprietà mysql_insertid per ottenere il valore di AUTO_INCREMENT.Gli esempi sono i seguenti:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Esempio PHP
PHP ottiene il valore della colonna AUTO_INCREMENT nell'istruzione insert SQL eseguita tramite la funzione mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
sequenza di ripristino
Se elimini più record nella tabella dei dati e desideri riorganizzare la colonna AUTO_INCREMENT dei dati rimanenti, puoi farlo eliminando la colonna con incremento automatico e aggiungendola di nuovo.Tuttavia, questa operazione deve essere molto attenta, se c'è.Contestualmente alla cancellazione vengono aggiunti nuovi record e potrebbe esserci confusione nei dati.Le operazioni sono le seguenti:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Imposta il valore iniziale della sequenza
In generale, il valore iniziale della sequenza è 1, ma se è necessario specificare un valore iniziale di 100, possiamo farlo con la seguente istruzione:
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 ;
Oppure puoi anche utilizzare la seguente istruzione dopo che la tabella è stata creata correttamente:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Speranza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) condiviso "Come fa MySQL a creare una sequenza? Database MySQL per creare istruzioni di sequenza autoincrementanti", per aiutarti.
Benvenuti a condividere il link di questo articolo:https://www.chenweiliang.com/cwl-498.html
Benvenuto nel canale Telegram del blog di Chen Weiliang per ricevere gli ultimi aggiornamenti!
📚 Questa guida contiene un valore enorme, 🌟Questa è un'opportunità rara, non perderla! ⏰⌛💨
Condividi e metti mi piace se ti va!
La tua condivisione e i tuoi like sono la nostra continua motivazione!