با این دستور  مقدار یک فیلد unique با اضافه شدن رکورد جدید بطور خودکار با اضافه شدن یک واحد به مقدار همین فیلد در رکورد قبلی بدست می اید
بطور پیش فرض مقدار فیلد auto-increament از یک شروع می شود و برای هر رکورد یکی اضافه می شود
روش نوشتن AUTO_INCREMENT در زمان تعریف جدول در MySQL

 مثال

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

تعیین مقداری غیر از یک برای شروع فیلد auto-increament

در mysql

 مثال

ALTER TABLE Persons AUTO_INCREMENT=100

بعد از alter table نام جدول را بنویسید

هنگام اضافه کردن رکورد جدید نباید مقدار چنین فیلدهایی را تعیین نمائید بلکه خودش مقدار دهی می شود

مثلا اگر در جدول t1 فیلدهای name , family ,p_id باشد که p_id بصورت auto-increament تعیف شده باشد روش افزودن رکورد جدید به این جدول به صورا زیر خواهد بود :

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

روش نوشتن AUTO_INCREMENT در زمان تعریف جدول در SQL Server

 مثال

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

در sql server کلمه کلیدی IDENTITY  برای مشخص نمودن فیلدی که افزایش خودکار خواهد داشت بکار می رود
بطور پیش فرض مقدار فیلد auto-increament از یک شروع می شود و با افزودن رکورد جدید یک واحد به ان اضافه می شود
 مثلا برای اینکه مشخص کنید مقدار اولیه برای فیلد p_id از 10 شروع شود و هر بار 5 واحد اضافه شود دستور زیر را داریم :
IDENTITY(10,5)
توجه داشته باشید در زمان اضافه نمودن رکورد جدید نباید مقداری را برای فیلد auto-increament ما تعیین نمائیم

مثلا اگر در جدول t1 فیلدهای name , family ,p_id باشد که p_id بصورت auto-increament تعیف شده باشد روش افزودن رکورد جدید به این جدول به صورا زیر خواهد بود :

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

 

روش نوشتن AUTO_INCREMENT در زمان تعریف جدول در  MS Access

 مثال

 CREATE TABLE Persons
(
P_Id PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
))
در access واژه کلیدی AUTOINCREMENT برای تعریف فیلد دارای افزایش خودکار بکار می رود
بصورت پیش فرض مقدار اولیه چنین فیلدی برابر یک و با افزودن هر رکورد جدید یک واحد به مقدار ان افزوده می شود

اگر مثلا می خواهید مقدار اولیه فیلد افزایش خودکار p_id از 10 شروع شده و هربار 5 واحد به ان افزوده شود از دستور زیر استفاده نمائید

 

AUTOINCREMENT(10,5)

توجه داشته باشید در زمان اضافه نمودن رکورد جدید نباید مقداری را برای فیلد auto-increament ما تعیین نمائیم

مثلا اگر در جدول t1 فیلدهای name , family ,p_id باشد که p_id بصورت auto-increament تعیف شده باشد روش افزودن رکورد جدید به این جدول به صورت زیر خواهد بود :

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

روش نوشتن AUTO_INCREMENT در زمان تعریف جدول در   Oracle

در اوراکل تعیین فیلد با قابلیت افزایش خودکار کمی متفاوت است و باید چندین مورد را مشخص نمائیم
به مثال زیر دقت نمائید
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10

نام مجموعه دستورات بالا برابر  seq_person نام گذاری شده است
که با مقدار یک شروع می شود
و با افزودن هر رکورد جدید یک واحد به ان افزوده می شود

راستشو بخواین منظور از cach  را متوجه نشدم بهتره به صفحه مرجع مراجعه نمائید

مرجع

 توسط دستور زیر ، هنگام اضافه نمودن رکورد جدید مقدار بعدی بطور خودکار در فیلد p_id قرار خواهد گرفت        seq_person.nextval
INSERT INTO Persons (P_Id,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')
که seq_person نام مجموعه تعریف شده است و دستور nexval مقدار بعدی را بر اساس گام افزایش می دهد  
 
 ALTER TABLE : جلوی این دستور نام جدول را بنویسید
DROP CONSTRAINT : جلوی این دستور نام ویژگی check را بنویسید