tutorial pengembangan web terbaru
 

SQL AUTO selisih Lapangan


Auto-increment memungkinkan nomor unik yang akan dihasilkan ketika rekor baru dimasukkan ke dalam tabel.


AUTO selisih Field

Sangat sering kita ingin nilai field kunci utama yang akan dibuat secara otomatis setiap kali rekor baru dimasukkan.

Kami ingin menciptakan medan auto-increment dalam sebuah tabel.


Sintaks untuk MySQL

Pernyataan SQL berikut mendefinisikan "ID" kolom menjadi field kunci primer auto-increment di "Persons" tabel:

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

Secara default, nilai awal untuk AUTO_INCREMENT adalah 1, dan itu akan kenaikan sebesar 1 untuk setiap record baru.

Untuk membiarkan urutan AUTO_INCREMENT mulai dengan nilai lain, menggunakan pernyataan SQL berikut:

ALTER TABLE Persons AUTO_INCREMENT=100

Untuk menyisipkan catatan baru ke dalam "Persons" tabel, kita tidak harus menentukan nilai untuk "ID" kolom (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

Pernyataan SQL di atas akan menyisipkan catatan baru ke dalam "Persons" tabel. The "ID" kolom akan diberi nilai yang unik. The "FirstName" kolom akan diatur ke "Lars" dan "LastName" kolom akan diatur ke "Monsen" .


Sintaks untuk SQL Server

Pernyataan SQL berikut mendefinisikan "ID" kolom menjadi field kunci primer auto-increment di "Persons" tabel:

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 menggunakan kata kunci IDENTITAS untuk melakukan fitur auto-increment.

Dalam contoh di atas, nilai awal untuk IDENTITAS adalah 1, dan itu akan kenaikan sebesar 1 untuk setiap record baru.

Tip: Untuk menentukan bahwa "ID" kolom harus mulai dari nilai 10 dan selisih sebesar 5, ubah ke IDENTITAS (10,5).

Untuk menyisipkan catatan baru ke dalam "Persons" tabel, kita tidak harus menentukan nilai untuk "ID" kolom (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

Pernyataan SQL di atas akan menyisipkan catatan baru ke dalam "Persons" tabel. The "ID" kolom akan diberi nilai yang unik. The "FirstName" kolom akan diatur ke "Lars" dan "LastName" kolom akan diatur ke "Monsen" .


Sintaks untuk Akses

Pernyataan SQL berikut mendefinisikan "ID" kolom menjadi field kunci primer auto-increment di "Persons" tabel:

CREATE TABLE Persons
(
ID Integer PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

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

Secara default, nilai awal untuk AUTOINCREMENT adalah 1, dan itu akan kenaikan sebesar 1 untuk setiap record baru.

Tip: Untuk menentukan bahwa "ID" kolom harus mulai dari nilai 10 dan selisih sebesar 5, mengubah autoincrement untuk AUTOINCREMENT (10,5).

Untuk menyisipkan catatan baru ke dalam "Persons" tabel, kita tidak harus menentukan nilai untuk "ID" kolom (nilai unik akan ditambahkan secara otomatis):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

Pernyataan SQL di atas akan menyisipkan catatan baru ke dalam "Persons" tabel. The "P_Id" kolom akan diberi nilai yang unik. The "FirstName" kolom akan diatur ke "Lars" dan "LastName" kolom akan diatur ke "Monsen" .


Sintaks untuk Oracle

Dalam Oracle kode ini sedikit lebih rumit.

Anda harus menciptakan medan auto-increment dengan objek urutan (objek ini menghasilkan urutan nomor).

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 disebut seq_person, yang dimulai dengan 1 dan akan kenaikan dengan 1. Hal ini juga akan cache hingga 10 nilai untuk kinerja. Opsi Cache menentukan berapa banyak nilai-nilai urutan akan disimpan dalam memori untuk akses cepat.

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

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

Pernyataan SQL di atas akan menyisipkan catatan baru ke dalam "Persons" tabel. The "ID" kolom akan ditugaskan nomor berikutnya dari urutan seq_person. The "FirstName" kolom akan diatur ke "Lars" dan "LastName" kolom akan diatur ke "Monsen" .