Home » SQL » Field AUTO INCREMENT SQL : Syntax dan Contohnya

Field AUTO INCREMENT SQL : Syntax dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Field AUTO INCREMENT

Auto-increment dapat digunakan untuk nomor unik yang dibuat secara otomatis saat record baru dimasukkan ke dalam tabel.

Auto-increment ini biasanya ada pada PRIMARY KEY yang ingin dibuat secara otomatis setiap kali catatan baru dimasukkan.

Syntax untuk MySQL

Pernyataan SQL berikut mendefinisikan kolom “Personid” jadi auto-increment di field primary key pada tabel “Person”:

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Usia int,
    PRIMARY KEY (Personid)
);

MySQL menggunakan keyword AUTO_INCREMENT untuk melakukan fitur auto-increment.

Secara default, nilai awal untuk AUTO_INCREMENT adalah 1 dan akan bertambah 1 untuk setiap record baru.

Untuk membiarkan urutan AUTO_INCREMENT dimulai dengan nilai lain, gunakan pernyataan SQL berikut ini:

ALTER TABLE Persons AUTO_INCREMENT=100;

Untuk memasukkan record baru ke dalam tabel “Persons”, kita TIDAK perlu menentukan nilai untuk kolom “Personid” (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Larry','Monsen');

Pernyataan SQL di atas akan memasukkan record baru ke dalam tabel “Persons”. Kolom “Personid” akan diberi nilai unik. Kolom “FirstName” akan disetel ke “Larry” dan kolom “LastName” akan disetel ke “Monsen”.

Syntax untuk SQL Server

Pernyataan SQL berikut mendefinisikan kolom “Personid” menjadi auto-increment primary key field di tabel “Persons”:

CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Usia int
);

MS SQL Server menggunakan kata kunci IDENTITY  untuk melakukan fitur auto-increment.

Dalam contoh di atas, nilai awal untuk IDENTITY  adalah 1 dan akan bertambah 1 untuk setiap catatan baru.

Tip: Untuk menentukan bahwa kolom “Personid” harus dimulai dari nilai 10 dan bertambah 5, ubah ke IDENTITY (10,5).

Untuk memasukkan record baru ke dalam tabel “Persons”, kita TIDAK perlu menentukan nilai untuk kolom “Personid” (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Larry','Monsen');

Pernyataan SQL di atas akan memasukkan record baru ke dalam tabel “Persons”. Kolom “Personid” akan diberi nilai unik. Kolom “FirstName” akan disetel ke “Larry” dan kolom “LastName” akan disetel ke “Monsen”.

Syntax untuk Access

Pernyataan SQL berikut mendefinisikan kolom “Personid” menjadi auto-increment primary key field di tabel “Persons”:

CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Usia int
);

MS Access menggunakan kata kunci AUTOINCREMENT untuk melakukan fitur auto-increment.

Secara default, nilai awal untuk AUTOINCREMENT adalah 1 dan akan bertambah 1 untuk setiap record baru.

Tip: Untuk menentukan bahwa kolom “Personid” harus dimulai pada nilai 10 dan bertambah 5, ubah autoincrement ke AUTOINCREMENT (10,5).

Untuk memasukkan record baru ke dalam tabel “Persons”, kita TIDAK perlu menentukan nilai untuk kolom “Personid” (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Larry','Monsen');

Pernyataan SQL di atas akan memasukkan record baru ke dalam tabel “Persons”. Kolom “Personid” akan diberi nilai unik. Kolom “FirstName” akan disetel ke “Larry” dan kolom “LastName” akan disetel ke “Monsen”.

Syntax untuk Oracle

Di Oracle, kodenya sedikit lebih rumit.

Kita harus membuat field auto-increment dengan objek urutan (objek ini menghasilkan urutan angka).

Gunakan sintaks CREATE SEQUENCE berikut:

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

Kode di atas membuat objek urutan yang disebut seq_person, yang dimulai dengan 1 dan akan bertambah 1. Ini juga akan menyimpan hingga 10 nilai untuk kinerja. Opsi cache menentukan berapa banyak nilai urutan yang akan disimpan dalam memori untuk akses lebih cepat.

Untuk memasukkan record baru ke dalam tabel “Persons”, kita harus menggunakan fungsi nextval (fungsi ini mengambil nilai berikutnya dari urutan seq_person):

INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Larry','Monsen');

Pernyataan SQL di atas akan memasukkan record baru ke dalam tabel “Persons”. Kolom “Personid” akan diberi nomor berikutnya dari urutan seq_person. Kolom “FirstName” akan disetel ke “Larry” dan kolom “LastName” akan disetel ke “Monsen”.

You may also like