Auto increment, tabloya yeni bir kayıt eklendiğinde benzersiz bir sayının otomatik olarak oluşturulmasına izin verir. Bu özelliği genelikle benzersiz ve otomatik artan bir alanı temsil edecek olan birincil anahatar sütununda kullanırız. Otomatik artış özelliğini kullanmak için AUTO_INCREMENT anahtar komutu kullanır.
NOT: AUTO_INCREMENT için başlangıç değeri 1'dir ve her yeni kayıtta 1 artar.
MySQL Kullanımı:
Aşağıdaki SQL komutu, "MusteriID" sütununu "Müşteriler" tablosundaki otomatik artış, birincil anahtar alanı olarak tanımlanır.
CREATE TABLE Musteriler (
KullaniciID int NOT NULL AUTO_INCREMENT,
Ad varchar(255) NOT NULL,
Sehir varchar(255),
);
Aşağıdaki gibi tabloya eklenecek yeni bir kayıt olduğu zaman KullaniciID otomatik olarak kendi artacaktır.
INSERT INTO Musteriler (Ad,Sehir)
VALUES ('Safa','İstanbul');
AUTO_INCREMENT dizisinin başka bir değerle başlamasına izin vermek için aşağıdaki SQL komutunu
kullanın:
ALTER TABLE Musteriler AUTO_INCREMENT=10;
SQL Server için kullanımı:
MS SQL Server’de otomatik artış özelliğini gerçekleştirmek için IDENTITY anahtar komutu kullanır. Başlangıç değerini ve artış miktarını ayarlamak için anahtar komutundan sonra(IDENTITY) parantez içinde başlangıç değeri ve artış miktarı yazılır. Aşağıda örnek olarak gösterilmiştir.
CREATE TABLE Musteriler (
KullaniciID int IDENTITY(1,1) PRIMARY KEY,
);
Aşağıdaki SQL komutu, " KullaniciID" sütununu "Müşteriler" tablosundaki otomatik artış, birincil anahtar alanı olarak tanımlanır.
CREATE TABLE Musteriler (
KullaniciID int IDENTITY(1,1) PRIMARY KEY,
Ad varchar(255) NOT NULL,
Sehir varchar(255),
);
Aşağıdaki SQL komutu, “KullaniciID” sütununu “Musteriler” tablosundaki otomatik artış ve PRIMARY KEY olarak tanımlar.
CREATE TABLE Musteriler (
KullaniciID AUTOINCREMENT PRIMARY KEY,
Ad varchar(255) NOT NULL,
Soyad varchar(255),
Yas int
);
Ms Access, Bir otomatik artış özelliğini gerçekleştirmek için AUTOINCREMENT anahtar sözcüğünü kullanır.
Aşağıdaki SQL kodu “Kisiler” tablosuna yeni kayıt ekler. ”KullaniciID” sütununa benzersiz değer atanacaktır.
INSERT INTO Musteriler (Ad,Soyad)
VALUES (safa, ’Dedeoğlu’);
Sıra nesnesiyle bir otomatik artış alanı oluşturmanız gerekecektir (bu nesne bir sayı dizisi oluşturur)
Aşağıdaki CREATE SEQUENCE kullanımı:
CREATE SEQUENCE seq_Kisiler
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
Yukarıdaki kod seq_person adında, 1 ile başlayan ve 1 artacak bir sıra nesnesi yaratır. Ayrıca performans için 10'a kadar değeri önbelleğe alır. Önbellek seçeneği, bellekte kaç sıra değerinin saklanacağını belirtir.
"Kişiler" tablosuna yeni bir kayıt eklemek için, nextval komutu kullanılır.
INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');
İçerik: YUSUF ERDOĞAN