Cara menggunakan SQLite Autoincrement

SQLite mendukung kata kunci AUTOINCREMENT yang secara otomatis menambah nilai bidang yang ditentukan dalam tabel database. Secara default, saat Anda membuat tabel database, Anda akan mendapatkan integer bertanda 64-bit untuk mewakili baris IP atau ROWID. Opsi ini tersedia secara default kecuali ditentukan secara eksplisit menggunakan kata kunci TANPA ROWID.

Kolom ROWID bertambah secara otomatis saat Anda menambahkan data ke tabel. Misalnya, pertimbangkan kueri di bawah ini untuk membuat dan menambahkan data.

CREATE TABLE "demo" (
    "name"  TEXT,
    "role"  TEXT
);

Selanjutnya, tambahkan data ke tabel yang dibuat di atas menggunakan kueri yang disediakan di bawah ini:

INSERT INTO "main"."demo" ("name", "role") VALUES ('Mari Clovis', 'Web Developer');
INSERT INTO "main"."demo" ("name", "role") VALUES ('Terhi Antonije', 'Hardware Engineer');

Sekarang:

Jika kita melakukan query SELECT pada tabel, kita akan mendapatkan tabel seperti di bawah ini.

SELECT oid, name, role FROM demo;

Seperti yang terlihat dari output di atas, SQLite secara otomatis membuat bidang (ROWID) yang secara otomatis bertambah saat data ditambahkan ke tabel.

Namun, Anda dapat secara eksplisit menentukan id baris saat membuat tabel menggunakan kata kunci AUTOINCREMENT. Mari kita bahas bagaimana melakukan ini dalam tutorial ini.

Cara Menggunakan AUTOINCREMENT

Untuk mulai menggunakan kata kunci AUTOINCREMENT, bidang yang ditentukan hanya boleh menerima nilai INTEGER. Sintaks umum untuk kata kunci AUTOINCREMENT adalah sebagai:

CREATE TABLE "demo2" (
    "Field1"    INTEGER,
    PRIMARY KEY("Field1" AUTOINCREMENT)
);

Misalnya, perhatikan tabel di bawah ini:

CREATE TABLE "users" (
    "No"    INTEGER,
    "Name"  TEXT,
    "Age"   INTEGER,
    "Language"  TEXT,
    PRIMARY KEY("No" AUTOINCREMENT)
);

Mari kita tambahkan data ke dalam tabel menggunakan Query yang disediakan di bawah ini:

INSERT INTO "main"."users" ("No", "Name", "Age", "Language") VALUES ('1', 'Danuše Bob', '23', 'Python, Java');
INSERT INTO "main"."users" ("No", "Name", "Age", "Language") VALUES ('2', 'Glaucia Martha', '30', 'JavaScript, Ruby on Rails');
INSERT INTO "main"."users" ("No", "Name", "Age", "Language") VALUES ('3', 'Tindra Alona', '25', 'C++, Bash');
INSERT INTO "main"."users" ("No", "Name", "Age", "Language") VALUES ('4', 'Yakau Kelley', '33', 'Java, Mathematica, Python');

Setelah Anda menjalankan kueri di atas, Anda akan mendapatkan tabel dengan data yang ditunjukkan di bawah ini:

Anda akan mencatat bahwa nilai bidang Tidak bertambah secara otomatis. Anda juga dapat menentukan posisi atau lokasi data yang ingin Anda tambahkan. Misalnya, untuk menambahkan data pada No (id) 1000, tentukan nilainya seperti yang ditunjukkan pada kueri di bawah ini:

 INSERT INTO "main"."users" ("No", "Name", "Age", "Language") VALUES ('1000', ' Chestirad Orval', '22', 'Java, Matlab, C#);

Sekarang, jika Anda menanyakan data pada tabel di atas, Anda akan melihat tabel seperti yang ditunjukkan di bawah ini:

SELECT * FROM users;

Seperti yang Anda lihat dari output di atas, data yang kami masukkan terletak di posisi 1000 seperti yang ditentukan. Nilai maksimumnya bisa pada nilai 9223372036854775807. Jika Anda mencoba menambahkan lebih banyak data saat telah mencapai nilai maksimum, SQLite akan mencari nilai yang tidak digunakan dan memasukkan data di lokasi tersebut.

CATATAN: SQLite merekomendasikan useran AUTOINCREMENT karena Anda dapat mempelajari lebih lanjut di sumber daya yang disediakan di bawah ini

https://sqlite.org/autoinc.html

Kesimpulan

Tutori
al ini telah membahas cara menggunakan kata kunci peningkatan otomatis SQL di berbagai bidang. Sebelum memutuskan kapan harus menggunakan kata kunci AUTOINCREMENT, pastikan Anda membaca dokumentasi, fitur, dan batasannya.

Related Posts