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

Memasukkan nilai NULL ke tipe data ganda MySQL Python

Ini tidak sepenuhnya mengejutkan. Pada contoh pertama, Anda memasukkan konstanta python yang telah ditentukan sebelumnya Tidak ada

Itu sama dengan SQL NULL . Dalam contoh kedua Anda memasukkan String yang disebut 'Tidak Ada' ke dalam tabel. Kedua hal ini sangat berbeda. Jika Anda memasukkan string ke dalam bidang ganda atau float, Anda akan melihat semua jenis kesalahan, paling sering, kesalahan yang pernah Anda lihat.

pada contoh pertama berfungsi karena Anda telah menyatakan :

 `float8value` double DEFAULT NULL,

Ini menerima NULL dan None berada di tempat ke-8 dalam daftar nilai Anda. Saat banyak parameter berbeda digunakan, sebaiknya gunakan parameter bernama sehingga jelas secara sekilas apa yang terikat pada setiap kolom.

Pembaruan:

Setelah menjalankan kode Anda, satu-satunya kesimpulan yang dapat dicapai adalah Anda telah menemukan bug, dengan menggunakan print(cursor.statement) mungkin untuk menemukan bahwa kueri yang dieksekusi adalah.

INSERT INTO runsettings (apcrunid,equipment,runnumber,wafer,settingname,intvalue,floatvalue,float8value) 
VALUES (471285,'CT19',7,'271042','Etch Time Min',NULL,NULL,NULL),
       (471285,'CT19',7,'00000','Etch Time Min',NULL,NULL,'None')

Ini tidak menghasilkan kesalahan, tetapi jika Anda menghapus kumpulan nilai pertama, kesalahan memang terjadi. Rekomendasi saya adalah mengajukan laporan bug




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. alternatif levenshtein

  2. ER_CON_COUNT_ERROR:Terlalu banyak kesalahan koneksi di node-mysql

  3. Hitung usia dari tanggal lahir di mysql

  4. Kolom rand() subquery dievaluasi ulang untuk setiap pemilihan berulang di MySQL 5.7/8.0 vs MySQL 5.6

  5. Bagaimana saya bisa memanggil fungsi mysql (seperti mysql_insert_id) dari Perl jika saya menggunakan DBI/DBD?