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

Mengapa DBI secara implisit mengubah bilangan bulat menjadi string?

Seperti yang dicatat @choroba dalam jawabannya, bukan DBI yang melakukan apa pun dengan data. Itu hanya melewati apa yang dikembalikan oleh modul driver (DBD::mysql dalam kasus Anda).

Dalam Aturan &Peringatan Antarmuka Umum bagian dari dokumen DBI tertulis:

Saya menulis itu pada hari-hari sebelum umum untuk mengkonfigurasi Perl untuk mendukung bilangan bulat 64-bit, dan tipe floating point panjang-ganda tidak biasa. Saat ini saya menyarankan agar driver mengembalikan nilai dalam tipe Perl paling 'alami' yang tidak berisiko kehilangan data.

Untuk beberapa driver yang mungkin sulit untuk diterapkan, terutama yang mendukung pengembalian beberapa kumpulan hasil, dengan jumlah kolom yang berbeda, dari satu pegangan, seperti yang dilakukan DBD::mysql.

Saya membaca sekilas DBD::mysql docs tetapi tidak melihat penyebutan topik ini, jadi saya melihat kode yang relevan di mana saya dapat melihat bahwa DBD saat ini::mysql adalah mengembalikan angka sebagai angka. Ada juga banyak referensi untuk perubahan terbaru di area ini di log Perubahan .

Mungkin Anda menggunakan DBD::mysql versi lama dan harus memutakhirkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menentukan apakah menggunakan SSL dalam Koneksi MySql?

  2. Backup Database MySQL secara otomatis di server windows

  3. Apa kerugian menggunakan bidang berukuran teks panjang MySQL ketika setiap entri akan muat dalam bidang berukuran teks sedang?

  4. mysqldump tidak berfungsi di cron

  5. mySQL dateTime range Masalah Kueri