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

Kolom MySQL disetel ke NOT NULL tetapi masih mengizinkan nilai NULL

Anda memasukkan string kosong, dan string kosong bukan NULL , untuk memeriksa NULL kesalahan lakukan:

INSERT INTO `addresses` (`street`, `city`, `state`, `zip`) VALUES (NULL, NULL, NULL, NULL);

dan Anda akan melihat kesalahan. NOT NULL hanya memeriksa nilai yang bukan NULL .

Untuk mencegah string kosong, Anda harus menggunakan pemicu , atau lakukan pemeriksaan pada bahasa pemrograman sisi server untuk mengubah string kosong menjadi NULL sebelum melakukan INSERT query.Contoh pemicu untuk INSERT mungkin seperti:(ini hanya contoh)

CREATE TRIGGER avoid_empty
    BEFORE INSERT ON addresses
        FOR EACH ROW
        BEGIN
        IF street = '' THEN SET street = NULL END IF;
END; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa dan Optimalkan Database MySQL Secara Otomatis dengan Crontab/Cron

  2. Rumus untuk Menghitung Kedekatan Geo

  3. Perbarui formulir menggunakan Ajax, PHP, MYSQL

  4. RAW SQL Query dengan Zend Framework

  5. Pembaruan MySQL dari satu tabel ke tabel lain dengan kondisi tidak berfungsi?