Otomatik artış yeni bir kayıt bir tabloya sokulduğunda özel bir numara oluşturulmasına olanak sağlar.
OTO INCREMENT bir Saha
Çok sık otomatik olarak yeni bir rekor takıldığında her zaman oluşturulacak birincil anahtar alanının değerini istiyoruz.
Biz bir tabloda otomatik artışlı alanı oluşturmak istiyoruz.
MySQL için sözdizimi
Aşağıdaki SQL deyimi tanımlar "ID" bir otomatik artışlı birincil anahtar alanı olarak sütun "Persons" tablo:
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 otomatik artışlı özelliğini gerçekleştirmek için AUTO_INCREMENT anahtar kullanır.
Varsayılan olarak, AUTO_INCREMENT için başlangıç değeri 1 'dir ve her bir yeni kayıt için 1 artacaktır.
AUTO_INCREMENT dizisi, başka değerle başlamak aşağıdaki SQL deyimi kullanmasına izin vermek için:
ALTER TABLE Persons AUTO_INCREMENT=100
Içine yeni bir kayıt eklemek için "Persons" tablosunun, biz için bir değer belirtin zorunda DEĞİL olacak "ID" sütununda (a unique value will be added automatically) :
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')
SQL deyimi yukarıda içine yeni bir kayıt eklemek istiyorum "Persons" tablosundaki. "ID" sütunu benzersiz bir değer tahsis edilecektir. "FirstName" sütun olarak ayarlanmış olacaktır "Lars" ve "LastName" sütunu olarak ayarlanmış olacaktır "Monsen" .
SQL Server için sözdizimi
Aşağıdaki SQL deyimi tanımlar "ID" bir otomatik artışlı birincil anahtar alanı olarak sütun "Persons" tablo:
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 otomatik artışlı özelliğini gerçekleştirmek için KİMLİK anahtar kullanır.
Yukarıdaki örnekte, KİMLİK için başlangıç değeri 1 'dir ve her bir yeni kayıt için 1 artacaktır.
İpucu: belirtmek için "ID" sütunu, 5, değerle 10 ve artım başlamak için değişmelidir IDENTITY(10,5) .
Içine yeni bir kayıt eklemek için "Persons" tablosunun, biz için bir değer belirtin zorunda DEĞİL olacak "ID" sütununda (a unique value will be added automatically) :
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')
SQL deyimi yukarıda içine yeni bir kayıt eklemek istiyorum "Persons" tablosundaki. "ID" sütunu benzersiz bir değer tahsis edilecektir. "FirstName" sütun olarak ayarlanmış olacaktır "Lars" ve "LastName" sütunu olarak ayarlanmış olacaktır "Monsen" .
Erişim için sözdizimi
Aşağıdaki SQL deyimi tanımlar "ID" bir otomatik artışlı birincil anahtar alanı olarak sütun "Persons" tablo:
CREATE TABLE Persons
(
ID Integer PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
MS Access otomatik artışlı özelliğini gerçekleştirmek için AUTOINCREMENT'e anahtar kullanır.
Varsayılan olarak, Autoıncrement için başlangıç değeri 1 'dir ve her bir yeni kayıt için 1 artacaktır.
Öneri: belirtmek için "ID" sütununda, 5 ile 10 değeri ve artım başlatmak için AUTOINCREMENT değişmelidir AUTOINCREMENT(10,5) .
Içine yeni bir kayıt eklemek için "Persons" tablosunun, biz için bir değer belirtin zorunda DEĞİL olacak "ID" (benzersiz bir değer otomatik olarak eklenecektir) sütununda:
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')
SQL deyimi yukarıda içine yeni bir kayıt eklemek istiyorum "Persons" tablosundaki. "P_Id" sütunu benzersiz bir değer tayin olacaktı. "FirstName" sütun olarak ayarlanmış olacaktır "Lars" ve "LastName" sütunu olarak ayarlanmış olacaktır "Monsen" .
Oracle için sözdizimi
Oracle kod biraz daha karmaşıktır.
Bu sekans nesnesi olan bir otomatik artım alanı oluşturmak gerekir (this object generates a number sequence) .
Aşağıdaki CREATE SEQUENCE sözdizimini kullanın:
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
Yukarıdaki kod 1 ile başlar ve bu da performans için en fazla 10 değer önbelleğe 1 ile artar seq_person olarak adlandırılan bir dizi nesne oluşturur. önbellek seçeneği birçok dizi değerleri daha hızlı erişim için bellekte saklanacaktır nasıl belirtir.
Içine yeni bir kayıt eklemek için "Persons" tablosunun, biz (bu fonksiyon seq_person dizisinden sonraki değerini alır) nextval işlevi kullanmak zorunda olacak:
INSERT INTO Persons (ID,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')
SQL deyimi yukarıda içine yeni bir kayıt eklemek istiyorum "Persons" tablosundaki. "ID" sütunu seq_person dizisinden sonraki numara tahsis edilecektir. "FirstName" sütun olarak ayarlanmış olacaktır "Lars" ve "LastName" sütunu olarak ayarlanmış olacaktır "Monsen" .