Comment MySQL crée-t-il des séquences ? Instruction de séquence d'auto-incrémentation de création de base de données MySQL

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 !

🔔 Soyez le premier à obtenir le précieux « Guide d'utilisation de l'outil d'IA de marketing de contenu ChatGPT » dans le répertoire supérieur de la chaîne ! 🌟
📚 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 !

 

发表 评论

Votre adresse email ne sera pas publiée. 项 已 用 * 标注

到 顶部