SQL AUTO INCREMENT 字段

Auto-increment za'a yana yana hukuma kanan bayan za'a kama a hukuma kaiyawa na kaiyawa na bayan a hukuma tabbata.

AUTO INCREMENT zhang mian

Women tongchang xi wang zai ci ci ruzhu xin jilu shi, ziding xian chuang jian zhu jian zi chang mian de zhi。

Women keyi zai biao zhong chuang jian yi ge auto-increment zhang mian。

Yong yu MySQL de yanfa

Xia lian SQL yanju ba "Persons" tabben "P_Id" lie dingwei auto-increment zhu jian:

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)
)

MySQL shi yong AUTO_INCREMENT guanjianzi lai zhi xing auto-increment renwu。

Mianyi de, AUTO_INCREMENT de kaishi zhi shi 1, mei tiao xin jilu zeng jia 1。

Yao rang AUTO_INCREMENT xu lie yi qi ta de zhi shi qi shi, qing shi yong xia lian SQL yanfa:

ALTER TABLE Persons AUTO_INCREMENT=100

A yin zai "Persons" tabben zai ruzhu xin jilu, a bi xu wei "P_Id" lie dingyi zhi (hui ziding xian tianji yi ge duyuan de zhi):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates')

سيقوم الجملة SQL المذكورة أعلاه بإدراج سجل جديد في جدول "Persons". سيتم تعيين "P_Id" قيمة فريدة. سيتم تعيين "FirstName" على "Bill"،وسيتم تعيين عمود "LastName" على "Gates".

Yong yu SQL Server de yanfa

Xia lian SQL yanju ba "Persons" tabben "P_Id" lie dingwei auto-increment zhu jian:

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

MS SQL shi yong IDENTITY guanjianzi lai zhi xing auto-increment renwu。

Mianyi de, IDENTITY de kaishi zhi shi 1, mei tiao xin jilu zeng jia 1。

Yao dingyi "P_Id" lie yi 20 qi shi bei xian zeng jia 10, qing ba identity gai wei IDENTITY(20,10)

A yin zai "Persons" tabben zai ruzhu xin jilu, a bi xu wei "P_Id" lie dingyi zhi (hui ziding xian tianji yi ge duyuan de zhi):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates')

سيقوم الجملة SQL المذكورة أعلاه بإدراج سجل جديد في جدول "Persons". سيتم تعيين "P_Id" قيمة فريدة. سيتم تعيين "FirstName" على "Bill"،وسيتم تعيين عمود "LastName" على "Gates".

Yong yu Access de yanfa

Xia lian SQL yanju ba "Persons" tabben "P_Id" lie dingwei auto-increment zhu jian:

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

MS Access shi yong AUTOINCREMENT guanjianzi lai zhi xing auto-increment renwu。

Mianyi de, AUTOINCREMENT de kaishi zhi shi 1, mei tiao xin jilu zeng jia 1。

Yao dingyi "P_Id" lie yi 20 qi shi bei xian zeng jia 10, qing ba autoincrement gai wei AUTOINCREMENT(20,10)

A yin zai "Persons" tabben zai ruzhu xin jilu, a bi xu wei "P_Id" lie dingyi zhi (hui ziding xian tianji yi ge duyuan de zhi):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates')

سيقوم الجملة SQL المذكورة أعلاه بإدراج سجل جديد في جدول "Persons". سيتم تعيين "P_Id" قيمة فريدة. سيتم تعيين "FirstName" على "Bill"،وسيتم تعيين عمود "LastName" على "Gates".

الجملة التي تستخدمها في Oracle

في Oracle،يكون الكود أكثر تعقيدًا قليلاً.

يجب أن يتم إنشاء auto-increment field من خلال sequence (يولد هذا العنصر سلسلة من الأرقام).

استخدم جملة CREATE SEQUENCE التالية:

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

يخلق الكود المذكور أعلاه سلسلة seq_person بنام seq_person،تبدأ من 1 وتزيد بـ 1. يخزن هذا العنصر 10 قيم لتحسين الأداء. يحدد خيار CACHE عدد القيم التي يتم تخزينها لتحسين سرعة الوصول.

لإدراج سجل جديد في جدول "Persons"،يجب أن نستخدم دالة nextval (تأخذ القيمة التالية من سلسلة seq_person):

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

الجملة SQL المذكورة أعلاه ستقوم بوضع سجل جديد في جدول "Persons". "P_Id" سيتم تعيينه كرقم التالي من سلسلة seq_person. سيتم تعيين "FirstName" على "Bill"،وسيتم تعيين عمود "LastName" على "Gates".