SQL AUTO INCREMENT Alanı
Otomatik artış, yeni kayıt tabloya eklendiğinde benzersiz bir numara oluşturur.
AUTO INCREMENT alanı
Yeni bir kayıt eklerken, genellikle anahtar alanının değerinin otomatik olarak oluşturulmasını isteriz.
Tabloda bir auto-increment alanı oluşturabiliriz.
MySQL için dilbilgisi
Aşağıdaki SQL cümlesi, "Persons" tablosundaki "P_Id" sütununu auto-increment anahtar sütunu olarak tanımlar:
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, auto-increment görevlerini AUTO_INCREMENT anahtar kelimesi ile gerçekleştirir.
Varsayılan olarak, AUTO_INCREMENT'nin başlangıç değeri 1'dir ve her yeni kayıt 1 artar.
AUTO_INCREMENT sırasını diğer bir değere başlatmak için aşağıdaki SQL dilbilgisi kullanın:
ALTER TABLE Persons AUTO_INCREMENT=100
"Persons" tablosuna yeni kayıt eklemek için, "P_Id" sütununa değer belirlememiz gerekmeyen (otomatik olarak benzersiz bir değer eklenir):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
Yukarıdaki SQL ifadesi "Persons" tablosuna yeni bir kayıt ekleyecektir. "P_Id" bir benzersiz değer alacaktır. "FirstName" değerlendirme "Bill" olarak ayarlanacak, "LastName" sütunu "Gates" olarak ayarlanacaktır.
SQL Server için dilbilgisi
Aşağıdaki SQL cümlesi, "Persons" tablosundaki "P_Id" sütununu auto-increment anahtar sütunu olarak tanımlar:
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, auto-increment görevlerini IDENTITY anahtar kelimesi ile gerçekleştirir.
Varsayılan olarak, IDENTITY'nin başlangıç değeri 1'dir ve her yeni kayıt 1 artar.
"P_Id" sütununu 20 ile başlayıp 10 ile artan şekilde belirlemek için identity'i IDENTITY(20,10) olarak değiştirin:
"Persons" tablosuna yeni kayıt eklemek için, "P_Id" sütununa değer belirlememiz gerekmeyen (otomatik olarak benzersiz bir değer eklenir):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
Yukarıdaki SQL ifadesi "Persons" tablosuna yeni bir kayıt ekleyecektir. "P_Id" bir benzersiz değer alacaktır. "FirstName" değerlendirme "Bill" olarak ayarlanacak, "LastName" sütunu "Gates" olarak ayarlanacaktır.
Access için dilbilgisi
Aşağıdaki SQL cümlesi, "Persons" tablosundaki "P_Id" sütununu auto-increment anahtar sütunu olarak tanımlar:
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, auto-increment görevlerini AUTOINCREMENT anahtar kelimesi ile gerçekleştirir.
Varsayılan olarak, AUTOINCREMENT'nin başlangıç değeri 1'dir ve her yeni kayıt 1 artar.
"P_Id" sütununu 20 ile başlayıp 10 ile artan şekilde belirlemek için autoincrement'i AUTOINCREMENT(20,10) olarak değiştirin:
"Persons" tablosuna yeni kayıt eklemek için, "P_Id" sütununa değer belirlememiz gerekmeyen (otomatik olarak benzersiz bir değer eklenir):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
Yukarıdaki SQL ifadesi "Persons" tablosuna yeni bir kayıt ekleyecektir. "P_Id" bir benzersiz değer alacaktır. "FirstName" değerlendirme "Bill" olarak ayarlanacak, "LastName" sütunu "Gates" olarak ayarlanacaktır.
Oracle için gramer
Oracle'da kod biraz daha karmaşıktır.
Auto-increment alanı oluşturmak için sequence üzerinden oluşturmanız gerekmektedir (bu nesne sayısal dizisi oluşturur).
Aşağıdaki CREATE SEQUENCE gramerini kullanmanız gerekmektedir:
CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10
Yukarıdaki kod, adı seq_person olan bir dizisi oluşturur, bu dizisi 1'den başlatır ve 1 ile artırır. Bu nesne, performansı artırmak için 10 değeri önbellekleme yapar. CACHE seçeneği, performansı artırmak için ne kadar dizisi değeri saklanacağını belirler.
"Persons" tablosuna yeni bir kayıt eklemek için nextval fonksiyonunu kullanmamız gerekmektedir (fonksiyon seq_person dizisinden bir sonraki değeri döndürür):
INSERT INTO Persons (P_Id,FirstName,LastName) VALUES (seq_person.nextval,'Lars','Monsen')
Yukarıdaki SQL ifadesi "Persons" tablosuna yeni bir kayıt ekleyecektir. "P_Id" değerlendirme, seq_person dizisinden bir sonraki numara alınacaktır. "FirstName" değerlendirme "Bill" olarak ayarlanacak, "LastName" sütunu "Gates" olarak ayarlanacaktır.