Ringkasan :dalam tutorial ini, Anda akan mempelajari cara menggunakan SQLite NOT NULL
batasan untuk memastikan nilai dalam kolom tidak NULL
.
Pengantar SQLite NOT NULL
kendala
Saat membuat tabel, Anda dapat menentukan apakah kolom menerimaNULL
nilai atau tidak. Secara default, semua kolom dalam tabel menerima NULL
nilai kecuali Anda secara eksplisit menggunakan NOT NULL
kendala.
Untuk menentukan NOT NULL
kendala untuk kolom, Anda menggunakan sintaks berikut:
CREATE TABLE table_name (
...,
column_name type_name NOT NULL,
...
);
Code language: SQL (Structured Query Language) (sql)
Tidak seperti batasan lain seperti PRIMARY KEY
dan CHECK
, Anda hanya dapat menentukan NOT NULL
kendala di tingkat kolom, bukan tingkat tabel.
Berdasarkan standar SQL, PRIMARY KEY
harus selalu menyiratkan NOT NULL
. Namun, SQLite mengizinkan NULL
nilai dalam PRIMARY KEY
kolom kecuali kolom tersebut adalah INTEGER PRIMARY KEY
kolom atau tabel adalah WITHOUT ROWID
tabel atau kolom didefinisikan sebagai NOT NULL
kolom.
Ini karena bug di beberapa versi awal. Jika bug ini diperbaiki agar sesuai dengan standar SQL, maka mungkin merusak sistem lama. Oleh karena itu, telah diputuskan untuk mengizinkan NULL
nilai dalam PRIMARY KEY
kolom.
Sekali NOT NULL
kendala dilampirkan ke kolom, setiap upaya untuk mengatur nilai kolom ke NULL
seperti menyisipkan atau memperbarui akan menyebabkan pelanggaran batasan.
SQLite NOT NULL
contoh kendala
Contoh berikut membuat tabel baru bernama suppliers
:
CREATE TABLE suppliers(
supplier_id INTEGER PRIMARY KEY,
name TEXT NOT NULL
);
Code language: SQL (Structured Query Language) (sql)
Dalam contoh ini, supplier_id
adalah PRIMARY KEY
kolom suppliers
meja. Karena kolom ini dideklarasikan sebagai INTEGER PRIMARY KEY
, itu tidak akan menerima NULL
nilai.
name
kolom juga dideklarasikan dengan NOT NULL
kendala, sehingga hanya akan menerima nilai non-NULL.
Pernyataan berikut mencoba memasukkan NULL
ke dalam name
kolom suppliers
tabel:
INSERT INTO suppliers(name)
VALUES(NULL);
Code language: SQL (Structured Query Language) (sql)
Pernyataan gagal karena NOT NULL
pelanggaran kendala. Berikut adalah pesan kesalahannya:
SQL Error [19]: [SQLITE_CONSTRAINT] Abort due to constraint violation (NOT NULL constraint failed: suppliers.name)
Code language: CSS (css)
Dalam tutorial ini, Anda telah mempelajari cara menggunakan SQLite NOT NULL
kendala untuk memastikan nilai dalam kolom tidak NULL.