Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment ajouter une colonne d'incrémentation automatique dans une table existante dans MySQL

Les colonnes d'incrémentation automatique augmentent automatiquement leur valeur à mesure que vous ajoutez des lignes au tableau. Dans cet article, nous verrons comment ajouter une colonne d'incrémentation automatique dans MySQL.


Comment ajouter une colonne d'incrémentation automatique

Voici les étapes pour ajouter une colonne d'incrémentation automatique dans MySQL. Disons que vous avez les ventes (id, montant) suivantes tableau.

mysql> create table sales(id int, amount int);

mysql> insert into sales(id,amount) 
       values(1, 100),(4,300),(6,400);

mysql> select * from sales;
+------+--------+
| id   | amount |
+------+--------+
|    1 |    100 |
|    4 |    300 |
|    6 |    400 |
+------+--------+

Maintenant, nous allons modifier l'id colonne à incrémenter automatiquement, en utilisant ALTER TABLE.

Lecture bonus :Top 5 des outils de conception de base de données gratuits

Voici la syntaxe de l'instruction ALTER TABLE,

ALTER TABLE table_name 
MODIFY column_name INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

Dans la déclaration ci-dessus, vous devez spécifier le table_name et nom_colonne .

Voici l'instruction SQL pour ajouter la contrainte AUTO INCREMENT à id colonne.

ALTER TABLE sales
MODIFY id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

Ensuite, nous ajouterons quelques lignes dans la table des ventes.

mysql> insert into sales(amount) values(150),(250);

mysql> select * from sales;
+----+--------+
| id | amount |
+----+--------+
|  1 |    100 |
|  4 |    300 |
|  6 |    400 |
|  7 |    150 |
|  8 |    250 |
+----+--------+

Comme vous pouvez le voir, MySQL a automatiquement augmenté et rempli id colonne avec les valeurs 7 et 8.

Lecture bonus :comment trouver la nième ligne dans MySQL

Vous pouvez également ajouter une colonne d'incrémentation automatique lors de la création de la table. Cependant, rappelez-vous que la contrainte d'incrémentation automatique ne peut être affectée qu'à la colonne de clé primaire.

Voici la syntaxe pour ajouter une colonne d'incrémentation automatique lors de la création de la table.

create table table_name(
auto_increment_column_name int not null auto_increment primary key,
column2,
...);

Lecture bonus :comment répliquer une base de données MySQL

Voici un exemple pour ajouter une colonne d'incrémentation automatique dans MySQL

mysql> create table sales2(id int not null auto_increment primary key, 
amount int);

mysql> insert into sales2(amount) values(100),(125),(250),(300);

mysql> select * from sales2;
+----+--------+
| id | amount |
+----+--------+
|  1 |    100 |
|  2 |    125 |
|  3 |    250 |
|  4 |    300 |
+----+--------+

Comme vous pouvez le voir ci-dessus, l'id La colonne est automatiquement incrémentée et remplie.


Comment définir la valeur initiale d'incrémentation automatique

Par défaut, la valeur de la colonne d'incrémentation automatique commence à partir de 1. Vous pouvez modifier la valeur de démarrage de l'incrémentation automatique si vous le souhaitez. Voici la syntaxe pour cela,

alter table table_name AUTO_INCREMENT=increment_value

Dans la requête SQL ci-dessus, vous devez spécifier le table_name ainsi que increment_value .

Par exemple, voici la requête SQL pour définir la valeur d'incrément initiale à 100

alter table sales AUTO_INCREMENT=100

Espérons que l'article ci-dessus vous aidera à ajouter une colonne d'incrémentation automatique dans la table existante de MySQL.

Ubiq facilite la visualisation des données et leur suivi dans des tableaux de bord en temps réel. Essayez Ubiq gratuitement.