Jika Anda perlu mengatur kolom MySQL untuk tidak menerima nilai null, maka Anda dapat menambahkan batasan NOT NULL di MySQL. Anda dapat menambahkan batasan NOT NULL saat membuat tabel tabel menggunakan pernyataan CREATE TABLE, atau menambahkan batasan NOT NULL pada tabel yang ada menggunakan pernyataan ALTER TABLE. Berikut cara menambahkan batasan NOT NULL di MySQL.
Cara Menambahkan Batasan NOT NULL di MySQL
Berikut adalah langkah-langkah untuk menambahkan batasan NOT NULL untuk kolom di MySQL, menambahkan batasan NOT NULL ke kolom yang ada dan menghapus batasan NOT NULL dari kolom.
Berikut sintaks untuk mendefinisikan batasan NOT NULL di MySQL saat Anda membuat tabel baru.
column_name data_type NOT NULL;
Dalam pernyataan di atas, Anda perlu menentukan NOT NULL setelah menyebutkan column_name dan tipe_data
Berikut adalah contoh untuk menambahkan batasan NOT NULL di MySQL.
mysql> create table product_sales( id int, amount int NOT NULL, order_date date ); mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | YES | | NULL | | +------------+---------+------+-----+---------+-------+ mysql> insert into product_sales(id, order_date) values(1,'2020-08-01'); ERROR 1364 (HY000): Field 'amount' doesn't have a default value
Dalam kueri CREATE TABLE di atas, kami telah menambahkan batasan NOT NULL untuk jumlah kolom. Saat Anda memasukkan nilai NULL di kolom ini, MySQL akan memberikan kesalahan.
Bonus Baca :Cara Menambahkan Batasan Default di MySQL
ALTER TABLE Tambahkan batasan NOT NULL di MySQL
Anda juga dapat menambahkan batasan NOT NULL ke kolom yang ada di MySQL menggunakan pernyataan ALTER TABLE ... CHANGE. Berikut sintaks untuk menambahkan batasan not null pada tabel yang ada di MySQL.
ALTER TABLE table_name CHANGE old_column_name new_column_name column_definition;
Dalam kueri di atas, kami menyebutkan nama kolom yang sama untuk old_column_name serta new_column_name. New_column_name harus diikuti dengan column_definition dari tipe data dan kata kunci NOT NULL.
Berikut adalah contoh query SQL untuk menambahkan batasan NOT NULL ke kolom yang ada di MySQL.
mysql> ALTER TABLE product_sales CHANGE order_date order_date DATE NOT NULL; mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | NO | | NULL | | +------------+---------+------+-----+---------+-------+
Dalam kueri di atas, kami telah menambahkan batasan NOT NULL ke kolom yang ada order_date
Bonus Baca :MySQL Pilih N Baris Teratas Per Grup
Cara Menghilangkan batasan NOT NULL
Anda juga dapat menghapus batasan NOT NULL menggunakan pernyataan ALTER TABLE … MODIFY. Berikut sintaks untuk menghapus batasan NOT NULL di MySQL.
ALTER TABLE table_name MODIFY column_name column_definition;
Dalam kueri di atas, Anda perlu menentukan nama kolom dan definisi yang ingin Anda hapus batasan NOT NULL.
Berikut adalah contoh untuk menghapus batasan NOT NULL untuk order_date kolom.
mysql> ALTER TABLE product_sales MODIFY order_date DATE; mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | YES | | NULL | | +------------+---------+------+-----+---------+-------+
Bonus Baca :Cara Mendapatkan Data Minggu Terakhir di MySQL
Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!