Maison  >  Article  >  base de données  >  Comment utiliser la fonction d'incrémentation automatique dans MySQL

Comment utiliser la fonction d'incrémentation automatique dans MySQL

PHPz
PHPzoriginal
2023-04-21 10:12:208974parcourir

MySQL est actuellement l'une des bases de données open source les plus populaires, et ses fonctions puissantes et sa facilité d'utilisation la rendent également populaire. Parmi elles, l'auto-incrémentation est l'une des fonctions couramment utilisées dans MySQL. Cet article présentera comment MySQL utilise la fonction d'auto-incrémentation.

1. Qu'est-ce que l'auto-incrémentation ?

L'auto-incrémentation est une fonction de croissance automatique dans la base de données MySQL. Lorsqu'il y a un champ d'auto-incrémentation dans la table, chaque fois qu'une nouvelle donnée est insérée, le champ d'auto-incrémentation sera automatiquement incrémenté de 1. L'incrémentation automatique peut très bien résoudre certains problèmes, tels que la génération automatique d'identifiants, la génération automatique de séquences, etc.

2. Comment définir les champs d'incrémentation automatique

Pour définir l'incrémentation automatique, vous devez ajouter l'attribut AUTO_INCREMENT aux champs concernés lors de la création de la table. Par exemple :

CREATE TABLE user (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar( 30 ) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;user (
 id int(11) NOT NULL AUTO_INCREMENT,
 name varchar(30) NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在上面的语句中,我们把id设置为了自增字段,它的类型为int,长度为11。AUTO_INCREMENT选项告诉MySQL,每次插入一条数据时,都自动给id字段赋一个新的值。

在已经创建的表中添加自增字段需要使用 ALTER TABLE 语句。例如:

ALTER TABLE user ADD COLUMN age INT(11) NOT NULL AUTO_INCREMENT AFTER name;

在这个例子中,我们添加了一个名为age的自增字段。注意,添加自增字段时,要确保该字段为NOT NULL。

三、如何插入自增字段

插入自增字段时,我们可以类似于这样:

INSERT INTO user (name) VALUES ('张三');

查询该表可以得出:

SELECT * FROM user;

id name
1 张三

可以看到,即使我们在语句中没有给id赋值,id字段也自动递增了。这是因为字段属性中有 AUTO_INCREMENT。这个属性告诉MySQL,当向该表中插入数据时,MySQL会自动为id字段赋一个唯一的值,使其自动递增。

如果我们再插入一条数据,如下:

INSERT INTO user (name) VALUES ('李四');

查询该表可以得出:

SELECT * FROM user

Dans l'instruction ci-dessus, nous définissons l'identifiant comme un incrément automatique champ, son type est int et sa longueur est 11. L'option AUTO_INCREMENT indique à MySQL d'attribuer automatiquement une nouvelle valeur au champ id à chaque fois qu'une donnée est insérée. Pour ajouter un champ à incrémentation automatique à une table déjà créée, vous devez utiliser l'instruction ALTER TABLE. Par exemple : 3. Comment insérer un champ à incrémentation automatiqueLors de l'insertion d'un champ à incrémentation automatique, nous pouvons ressembler à ceci : SELECT * FROM user;idname
ALTER TABLE user ADD COLUMN age INT(11) NOT NULL AUTO_INCREMENT AFTER name; Dans cet exemple, nous ajoutons Un champ d'auto-incrémentation nommé age est créé. Notez que lors de l'ajout d'un champ à incrémentation automatique, assurez-vous que le champ n'est PAS NULL.
INSERT INTO user (name) VALEURS ('Zhang San '); L'interrogation de cette table peut obtenir :

1

    张三
  1. Vous pouvez voir que même si nous n'attribuons pas de valeur à id dans la déclaration, le champ id est automatiquement incrémenté. C'est parce qu'il y a AUTO_INCREMENT dans les propriétés du champ. Cet attribut indique à MySQL que lorsque des données sont insérées dans la table, MySQL attribuera automatiquement une valeur unique au champ id afin qu'il s'incrémente automatiquement.
Si nous insérons une autre donnée, comme suit :

INSERT INTO user (name) VALUES ('李思');

En interrogeant la table, nous pouvons obtenez : 🎜🎜SELECT * FROM user;🎜🎜🎜🎜🎜id🎜🎜name🎜🎜🎜🎜🎜🎜1🎜🎜张三🎜🎜🎜🎜2🎜🎜李思🎜🎜 🎜🎜🎜 Vous pouvez le regarder Maintenant, l'identifiant est automatiquement incrémenté à nouveau à 2. 🎜🎜4. Limites des champs à incrémentation automatique🎜🎜Lors de l'utilisation de champs à incrémentation automatique, nous devons également comprendre certaines limites de l'incrémentation automatique : 🎜🎜🎜Les champs à incrémentation automatique ne peuvent être que de type entier, pas de décimal, de texte, etc. . 🎜🎜La valeur du champ d'incrémentation automatique est unique dans la table, c'est-à-dire qu'il ne peut y avoir qu'un seul champ d'incrémentation automatique dans une table, et il ne peut s'agir que d'une CLÉ PRIMAIRE ou d'une CLÉ UNIQUE. 🎜🎜Une fois qu'un champ d'incrémentation automatique est utilisé, il ne peut pas être repensé, sinon vous rencontrerez des problèmes tels qu'une perte de données. 🎜🎜🎜5. Résumé🎜🎜L'incrémentation automatique est une fonction couramment utilisée dans la conception de tables MySQL, et elle peut également bien résoudre certains problèmes dans le développement réel. Cet article décrit comment MySQL génère des champs d'incrémentation automatique via l'attribut Auto_Increment et comment utiliser des champs d'incrémentation automatique pour incrémenter les valeurs de séquence lors de l'insertion de données. Dans le même temps, nous devons également prêter attention aux limites des champs d’auto-incrémentation et à certaines précautions. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn