Latest web development tutorials

champ SQL AUTO INCREMENT

Auto-incrémentation dans le nouvel enregistrement va générer un numéro unique dans la table quand.


champ AUTO INCREMENT

Nous voulons généralement d'insérer un nouveau record à chaque fois, de créer automatiquement la valeur de la clé primaire.

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


La syntaxe de MySQL

L'instruction SQL suivante pour "Personnes" table dans la colonne «ID» est défini comme champ de clé primaire auto-increment:

CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

MySQL utilise le mot-clé AUTO_INCREMENT pour effectuer une auto-incrémentation.

Par défaut, la valeur de départ AUTO_INCREMENT est 1, et est incrémenté de 1 pour chaque nouvel enregistrement.

Soit la séquence AUTO_INCREMENT démarre avec une autre valeur, utilisez la syntaxe SQL suivante:

ALTER TABLE Persons AUTO_INCREMENT=100

Pour insérer un nouvel enregistrement dans la table "Personnes", nous ne devons pas "ID" colonne valeur prédéterminée (ajoute automatiquement une valeur unique):

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

L'instruction SQL serait-dessus insérer un nouvel enregistrement dans le "Personnes" table. colonne "ID" est donnée une valeur unique. colonne "FirstName" serait réglé sur "Lars", colonne "LastName" serait réglé sur "Monsen".


La syntaxe de SQL Server

L'instruction SQL suivante pour "Personnes" table dans la colonne «ID» est défini comme champ de clé primaire auto-increment:

CREATE TABLE Persons
(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MS SQL Server en utilisant le mot-clé IDENTITY pour effectuer une auto-incrémentation.

Dans l'exemple ci-dessus, la valeur de départ IDENTITY est 1, et est incrémenté de 1 pour chaque nouvel enregistrement.

Astuce: Pour spécifier la colonne "ID" pour les 10 et 5 incréments de départ, s'il vous plaît identité IDENTITY (10,5).

Pour insérer un nouvel enregistrement dans la table "Personnes", nous ne devons pas "ID" colonne valeur prédéterminée (ajoute automatiquement une valeur unique):

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

L'instruction SQL serait-dessus insérer un nouvel enregistrement dans le "Personnes" table. colonne "ID" est donnée une valeur unique. colonne "FirstName" serait réglé sur "Lars", colonne "LastName" serait réglé sur "Monsen".


La syntaxe pour l'accès

L'instruction SQL suivante pour "Personnes" table dans la colonne «ID» est défini comme champ de clé primaire auto-increment:

CREATE TABLE Persons
(
ID Integer PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MS Access en utilisant AUTOINCREMENT mot-clé pour effectuer une auto-incrémentation.

Par défaut, la valeur de départ AUTOINCREMENT est 1, et est incrémenté de 1 pour chaque nouvel enregistrement.

Astuce: Pour spécifier la colonne "ID" pour les 10 et 5 incréments de départ, s'il vous plaît AUTOINCREMENT AUTOINCREMENT (10,5).

Pour insérer un nouvel enregistrement dans la table "Personnes", nous ne devons pas "ID" colonne valeur prédéterminée (ajoute automatiquement une valeur unique):

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

L'instruction SQL serait-dessus insérer un nouvel enregistrement dans le "Personnes" table. colonne "ID" est donnée une valeur unique. colonne "FirstName" serait réglé sur "Lars", colonne "LastName" serait réglé sur "Monsen".


Syntaxe pour Oracle

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

Vous devez créer des champs auto-incrémentation par objet de séquence (qui génère une séquence de nombres).

S'il vous plaît utilisez 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 de séquence appelé seq_person, qui commençant par 1 et incrémenté de 1. Le cache d'objets 10 valeurs pour améliorer les performances. option de cache permet un accès plus rapide au nombre de valeurs de séquence à mémoriser.

Pour insérer un nouvel enregistrement dans la table "Personnes", il faut utiliser la fonction nextval (cette fonction récupère la valeur suivante de la séquence d'seq_person):

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

L'instruction SQL serait-dessus insérer un nouvel enregistrement dans le "Personnes" table. colonne "ID" est attribué le numéro suivant dans la séquence de seq_person. colonne "FirstName" serait réglé sur "Lars", colonne "LastName" serait réglé sur "Monsen".