Latest web development tutorials

bidang SQL AUTO selisih

Auto-increment dalam catatan baru akan menghasilkan nomor unik ke meja ketika.


bidang AUTO selisih

Kami biasanya ingin menyisipkan catatan baru setiap kali, secara otomatis membuat nilai field kunci primer.

Kita dapat menciptakan medan auto-increment dalam tabel.


Sintaks untuk MySQL

Berikut pernyataan SQL untuk "Orang" tabel di kolom "ID" didefinisikan sebagai bidang kunci utama auto-increment:

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 auto-increment.

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

Biarkan urutan AUTO_INCREMENT mulai dengan nilai lain, gunakan sintaks SQL berikut:

ALTER TABLE Persons AUTO_INCREMENT=100

Untuk menyisipkan catatan baru dalam "Orang" tabel, kita tidak perlu "ID" kolom nilai yang telah ditentukan (otomatis menambah nilai unik):

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

Pernyataan SQL di atas akan menyisipkan catatan baru dalam "Orang" tabel. "ID" kolom diberi nilai unik. "FirstName" kolom akan diatur ke "Lars", "LastName" kolom akan diatur ke "Monsen".


Sintaks untuk SQL Server

Berikut pernyataan SQL untuk "Orang" tabel di kolom "ID" didefinisikan sebagai bidang kunci utama auto-increment:

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 auto-increment.

Dalam contoh di atas, nilai awal IDENTITAS adalah 1, dan nilainya 1 untuk setiap record baru.

Tip: Untuk menentukan "ID" kolom ke mulai 10 dan 5 bertahap, silakan identitas IDENTITAS (10,5).

Untuk menyisipkan catatan baru dalam "Orang" tabel, kita tidak perlu "ID" kolom nilai yang telah ditentukan (otomatis menambah nilai unik):

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

Pernyataan SQL di atas akan menyisipkan catatan baru dalam "Orang" tabel. "ID" kolom diberi nilai unik. "FirstName" kolom akan diatur ke "Lars", "LastName" kolom akan diatur ke "Monsen".


Sintaks untuk Akses

Berikut pernyataan SQL untuk "Orang" tabel di kolom "ID" didefinisikan sebagai bidang kunci utama auto-increment:

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 AUTOINCREMENT kata kunci untuk melakukan auto-increment.

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

Tip: Untuk menentukan "ID" kolom ke mulai 10 dan 5 bertahap, silakan autoincrement untuk AUTOINCREMENT (10,5).

Untuk menyisipkan catatan baru dalam "Orang" tabel, kita tidak perlu "ID" kolom nilai yang telah ditentukan (otomatis menambah nilai unik):

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

Pernyataan SQL di atas akan menyisipkan catatan baru dalam "Orang" tabel. "ID" kolom diberi nilai unik. "FirstName" kolom akan diatur ke "Lars", "LastName" kolom akan diatur ke "Monsen".


Sintaks untuk Oracle

Dalam Oracle, kode ini sedikit lebih rumit.

Anda harus membuat bidang auto-increment oleh urutan objek (yang menghasilkan urutan angka).

Silakan 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 bertambah 1. Cache objek 10 nilai untuk meningkatkan kinerja. Opsi cache yang menyediakan akses cepat ke nomor urutan nilai-nilai yang akan disimpan.

Untuk menyisipkan catatan baru dalam "Orang" 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 dalam "Orang" tabel. "ID" kolom ditugaskan nomor berikutnya secara berurutan dari seq_person. "FirstName" kolom akan diatur ke "Lars", "LastName" kolom akan diatur ke "Monsen".