Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Menambahkan Batasan NOT NULL di MySQL

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!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah Anda diizinkan menggunakan angka sebagai nama tabel di MySQL?

  2. MySQL:Aktifkan LOAD DATA LOCAL INFILE

  3. Streaming kumpulan hasil besar dengan MySQL

  4. Bagaimana saya harus menangani --secure-file-priv di MySQL?

  5. Cara Menghitung Median di MySQL