Field AUTO INCREMENT SQL

Auto-increment akan membuat sebuah angka unik saat record baru disisipkan ke tabel.

Field AUTO INCREMENT

Kita biasanya ingin secara otomatis membuat nilai field kunci utama setiap kali memasukkan rekaman baru.

Kita dapat membuat field auto-increment di tabel.

Sintaks untuk MySQL

Kalimat SQL berikut mengdefiniskan kolom "P_Id" di tabel "Persons" sebagai kunci utama auto-increment:

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 menggunakan kata kunci AUTO_INCREMENT untuk melaksanakan tugas auto-increment.

Secara baku, nilai awal AUTO_INCREMENT adalah 1, dan setiap rekaman baru bertambah 1.

Untuk membuat urutan AUTO_INCREMENT memulai dengan nilai lain, gunakan sintaks SQL berikut:

ALTER TABLE Persons AUTO_INCREMENT=100

Untuk memasukkan rekaman baru ke tabel "Persons", kita tidak perlu menentukan nilai untuk kolom "P_Id" (nilai yang unik akan ditambahkan otomatis):

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

Perintah SQL di atas akan memasukkan catatan baru ke tabel "Persons". Atribut "P_Id" akan diberikan nilai unik. "FirstName" akan diatur menjadi "Bill", kolom "LastName" akan diatur menjadi "Gates".

Sintaks untuk SQL Server

Kalimat SQL berikut mengdefiniskan kolom "P_Id" di tabel "Persons" sebagai kunci utama auto-increment:

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 menggunakan kata kunci IDENTITY untuk melaksanakan tugas auto-increment.

Secara baku, nilai awal IDENTITY adalah 1, dan setiap rekaman baru bertambah 1.

Untuk menentukan kolom "P_Id" untuk memulai dengan 20 dan bertambah 10, ubah identity menjadi IDENTITY(20,10):

Untuk memasukkan rekaman baru ke tabel "Persons", kita tidak perlu menentukan nilai untuk kolom "P_Id" (nilai yang unik akan ditambahkan otomatis):

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

Perintah SQL di atas akan memasukkan catatan baru ke tabel "Persons". Atribut "P_Id" akan diberikan nilai unik. "FirstName" akan diatur menjadi "Bill", kolom "LastName" akan diatur menjadi "Gates".

Sintaks untuk Access

Kalimat SQL berikut mengdefiniskan kolom "P_Id" di tabel "Persons" sebagai kunci utama auto-increment:

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 menggunakan kata kunci AUTOINCREMENT untuk melaksanakan tugas auto-increment.

Secara baku, nilai awal AUTOINCREMENT adalah 1, dan setiap rekaman baru bertambah 1.

Untuk menentukan kolom "P_Id" untuk memulai dengan 20 dan bertambah 10, ubah autoincrement menjadi AUTOINCREMENT(20,10):

Untuk memasukkan rekaman baru ke tabel "Persons", kita tidak perlu menentukan nilai untuk kolom "P_Id" (nilai yang unik akan ditambahkan otomatis):

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

Perintah SQL di atas akan memasukkan catatan baru ke tabel "Persons". Atribut "P_Id" akan diberikan nilai unik. "FirstName" akan diatur menjadi "Bill", kolom "LastName" akan diatur menjadi "Gates".

Sintaks untuk Oracle

Di Oracle, kode ini lebih kompleks sedikit.

Anda harus melalui urutan untuk menciptakan kolom auto-increment (objek ini menciptakan urutan angka).

Silakan gunakan sintaks CREATE SEQUENCE di bawah ini:

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

Kode di atas menciptakan objek urutan seq_person dengan nama, yang dimulai dari 1 dan bertambah dengan 1. Objek ini menempatkan 10 nilai untuk meningkatkan kinerja. Pilihan CACHE menentukan berapa banyak nilai urutan yang disimpan untuk meningkatkan kecepatan akses.

Untuk memasukkan catatan baru ke tabel "Persons", kita harus menggunakan fungsi nextval (fungsi ini mengambil nilai berikutnya dari urutan seq_person):

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

Perintah SQL di atas akan memasukkan catatan baru ke tabel "Persons". Atribut "P_Id" akan diisi dengan angka berikutnya dari urutan seq_person. "FirstName" akan diatur menjadi "Bill", kolom "LastName" akan diatur menjadi "Gates".