Répertoire d'articles
MySQLComment créer une séquence ?Base de données MySQLCréer une instruction de séquence à incrémentation automatique
Utilisation de la séquence MySQL
La séquence MySQL est un ensemble d'entiers : 1, 2, 3, ..., puisqu'une table de données ne peut avoir qu'une seule clé primaire d'auto-incrémentation de champ, si vous souhaitez obtenir une incrémentation automatique d'autres champs, vous pouvez utiliser la séquence MySQL pour atteindre.
Dans ce chapitre, nous décrirons comment utiliser les séquences MySQL.
Utilisez AUTO_INCREMENT
La façon la plus simple d'utiliser des séquences dans MySQL est d'utiliser MySQL AUTO_INCREMENT pour définir des colonnes.
Exemple
La table de données Insect est créée dans l'exemple suivant, dans lequel aucune valeur n'est spécifiée pour la croissance automatique.
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 秒)
Obtenir la valeur AUTO_INCREMENT
Dans le client MySQL, vous pouvez utiliser la fonction LAST_INSERT_ID() en SQL pour obtenir la valeur de la dernière colonne auto-incrémentée insérée dans la table.
Des fonctions correspondantes sont également fournies dans le script PHP ou PERL pour obtenir la valeur de la dernière colonne auto-incrémentée insérée dans la table.
Instance PERL
Utilisez la propriété mysql_insertid pour obtenir la valeur de AUTO_INCREMENT.Les exemples sont les suivants :
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Exemple PHP
PHP obtient la valeur de la colonne AUTO_INCREMENT dans l'instruction SQL d'insertion exécutée via la fonction mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
séquence de réinitialisation
Si vous supprimez plusieurs enregistrements dans la table de données et souhaitez réorganiser la colonne AUTO_INCREMENT des données restantes, vous pouvez le faire en supprimant la colonne d'auto-incrémentation, puis en l'ajoutant à nouveau.Cependant, cette opération doit être très prudente, voire pas du tout.Au même moment de la suppression, de nouveaux enregistrements sont ajoutés, et il peut y avoir confusion des données. Les opérations sont les suivantes :
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Définir la valeur de départ de la séquence
En général, la valeur de départ de la séquence est 1, mais si vous devez spécifier une valeur de départ de 100, nous pouvons le faire avec l'instruction suivante :
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 ;
Ou vous pouvez également utiliser l'instruction suivante une fois la table créée avec succès :
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
J'espère que le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) partagé "Comment MySQL crée-t-il une séquence ? Base de données MySQL pour créer une instruction de séquence auto-incrémentée", pour vous aider.
Bienvenue à partager le lien de cet article :https://www.chenweiliang.com/cwl-498.html
Bienvenue sur la chaîne Telegram du blog de Chen Weiliang pour obtenir les dernières mises à jour !
📚 Ce guide contient une valeur énorme, 🌟C'est une opportunité rare, ne la manquez pas ! ⏰⌛💨
Partagez et likez si vous aimez !
Vos partages et likes sont notre motivation continue !