Manuel du didac...login
Manuel du didacticiel de démarrage SQL
auteur:php.cn  temps de mise à jour:2022-04-12 14:15:40

INCRÉMENTATION AUTOMATIQUE SQL



L'incrémentation automatique génère un numéro unique lorsqu'un nouvel enregistrement est inséré dans la table.


Champ AUTO INCREMENT

Nous souhaitons généralement créer automatiquement la valeur du champ de clé primaire à chaque fois qu'un nouvel enregistrement est inséré.

Nous pouvons créer un champ à incrémentation automatique dans le tableau.


Syntaxe pour MySQL

L'instruction SQL suivante définit la colonne "ID" dans la table "Personnes" comme un champ de clé primaire à incrémentation automatique :

CRÉER TABLE Personnes
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Adresse varchar(255),
Ville varchar(255),
PRIMARY KEY ( ID)
)

MySQL utilise le mot-clé AUTO_INCREMENT pour effectuer des tâches d'auto-incrémentation.

Par défaut, AUTO_INCREMENT commence à 1 et s'incrémente de 1 pour chaque nouvel enregistrement.

Pour que la séquence AUTO_INCREMENT commence par une valeur différente, utilisez la syntaxe SQL suivante :

ALTER TABLE Persons AUTO_INCREMENT=100

Pour être dans Pour insérer un nouvel enregistrement dans la table "Personnes", nous n'avons pas besoin de préciser de valeur pour la colonne "ID" (une valeur unique sera ajoutée automatiquement) :

INSERT INTO Persons (FirstName ,LastName)
VALUES ( 'Lars','Monsen')

L'instruction SQL ci-dessus insérera un nouvel enregistrement dans la table "Personnes". La colonne "ID" se verra attribuer une valeur unique. La colonne « FirstName » sera définie sur « Lars » et la colonne « LastName » sera définie sur « Monsen ».


Syntaxe pour SQL Server

L'instruction SQL suivante définit la colonne "ID" dans la table "Personnes" comme champ de clé primaire à incrémentation automatique :

CRÉER TABLE Personnes
(
ID int IDENTITY(1,1) CLÉ PRIMAIRE,
Nom varchar(255) NON NULL,
Prénom varchar(255),
Adresse varchar(255),
Ville varchar(255)
)

MS SQL Server utilise le mot-clé IDENTITY pour effectuer des tâches d'auto-incrémentation.

Dans l'exemple ci-dessus, l'IDENTITÉ commence à 1 et s'incrémente de 1 à chaque nouvel enregistrement.

Astuce : Pour spécifier que la colonne "ID" commence à 10 et s'incrémente de 5, remplacez l'identité par IDENTITY(10,5).

Pour insérer un nouvel enregistrement dans la table "Personnes", nous n'avons pas besoin de préciser de valeur pour la colonne "ID" (une valeur unique est automatiquement ajoutée) :

INSÉRER DANS Personnes (Prénom, Nom)
VALEURS ('Lars','Monsen')

L'instruction SQL ci-dessus insérera un nouvel enregistrement dans la table "Personnes". La colonne "ID" se verra attribuer une valeur unique. La colonne « FirstName » sera définie sur « Lars » et la colonne « LastName » sera définie sur « Monsen ».


Syntaxe pour Access

L'instruction SQL suivante définit la colonne "ID" dans la table "Personnes" comme un champ de clé primaire à incrémentation automatique :

CRÉER TABLE Personnes
(
ID Entier CLÉ PRIMAIRE AUTOINCREMENT,
Nom varchar(255) NON NULL,
Prénom varchar(255),
Adresse varchar(255),
Ville varchar(255)
)

MS Access utilise le mot-clé AUTOINCREMENT pour effectuer des tâches d'auto-incrémentation.

Par défaut, AUTOINCREMENT commence à 1 et s'incrémente de 1 pour chaque nouvel enregistrement.

Astuce : Pour spécifier que la colonne "ID" commence à 10 et s'incrémente de 5, veuillez remplacer l'auto-incrémentation par AUTOINCREMENT(10,5).

Pour insérer un nouvel enregistrement dans la table "Personnes", nous n'avons pas besoin de préciser de valeur pour la colonne "ID" (une valeur unique est automatiquement ajoutée) :

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

L'instruction SQL ci-dessus insérera un nouvel enregistrement dans la table "Persons". La colonne "ID" se verra attribuer une valeur unique. La colonne « FirstName » sera définie sur « Lars » et la colonne « LastName » sera définie sur « Monsen ».


Syntaxe pour Oracle

Dans Oracle, le code est un peu plus compliqué.

Vous devez créer le champ d'auto-incrémentation à partir d'un objet séquence (qui génère une séquence de nombres).

Veuillez utiliser la syntaxe CREATE SEQUENCE suivante :

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10

Le code ci-dessus crée un objet séquence nommé seq_person, qui commence par 1 et s'incrémente de 1. Cet objet met en cache 10 valeurs pour améliorer les performances. L'option de cache spécifie le nombre de valeurs de séquence à stocker afin d'améliorer la vitesse d'accès.

Pour insérer un nouvel enregistrement dans la table "Persons", nous devons utiliser la fonction nextval (qui récupère la valeur suivante de la séquence seq_person) :

INSERT INTO Persons ( ID ,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')

L'instruction SQL ci-dessus insérera un nouvel enregistrement dans la table "Personnes". La colonne "ID" recevra le numéro suivant de la séquence seq_person. La colonne « FirstName » sera définie sur « Lars » et la colonne « LastName » sera définie sur « Monsen ».


Site Web PHP chinois