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

Memasukkan NULL ke kolom NOT NULL dengan Nilai Default

Berdasarkan penelitian saya, saya akan mengatakan itu bisa menjadi hal "Anda" dan "MySQL". Periksa definisi tabel Anda dengan SHOW CREATE TABLE table_name; . Catat setiap bidang yang ditentukan dengan NOT NULL .

Panduan Referensi MySQL 5.6:sintaks 13.2.5 INSERT menyatakan:

Ini menyiratkan bahwa tidak masalah mode SQL mana yang Anda gunakan. Jika Anda melakukan satu baris INSERT (sesuai kode sampel Anda) dan memasukkan NULL nilai ke dalam kolom yang didefinisikan dengan NOT NULL , seharusnya tidak berfungsi.

Dalam napas yang sama, ironisnya, jika Anda hanya menghilangkan nilai dari daftar nilai, manual MySQL mengatakan yang berikut, dan mode SQL memang penting dalam hal ini:

Jadi, Anda tidak bisa menang!;-) Bercanda. Hal yang harus dilakukan adalah menerima bahwa NOT NULL pada bidang tabel MySQL benar-benar berarti Saya tidak akan menerima nilai NULL untuk bidang saat melakukan satu baris INSERT , terlepas dari mode SQL .'

Semua yang dikatakan, berikut dari manual ini juga benar:

Jadi, ambil hati. Tetapkan default Anda dalam logika bisnis (objek), dan biarkan lapisan data mengambil arah dari itu. Default basis data sepertinya ide yang bagus, tetapi jika tidak ada, apakah Anda akan melewatkannya? Jika pohon tumbang di hutan...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MySQL - Cara memasukkan nilai default dalam pernyataan yang disiapkan

  2. Menyimpan konten file teks ke DB:Nilai string salah:'\xEF\xBB\xBF# W...' untuk kolom 'isi' di baris 1

  3. Perbarui dua baris berbeda dalam satu baris SQL

  4. Grup SQL dengan:menggunakan logika klausa mana untuk memfilter hasil berdasarkan fungsi agregat

  5. Cara memfilter nilai daftar dropdown dengan daftar dropdown lain di ASP.NET, c #