Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tại sao DBI thay đổi ngầm định số nguyên thành chuỗi?

Như @choroba lưu ý trong câu trả lời của mình, đó không phải là DBI đang làm bất cứ điều gì với dữ liệu. Nó chỉ chuyển qua những gì mô-đun trình điều khiển (DBD ::mysql trong trường hợp của bạn) trả về.

Trong Quy tắc giao diện chung &cảnh báo phần của tài liệu DBI có nội dung:

Tôi đã viết điều đó vào những ngày trước khi định cấu hình perl để hỗ trợ số nguyên 64-bit, và các kiểu dấu chấm động kép dài là không bình thường. Ngày nay, tôi khuyên các trình điều khiển nên trả về các giá trị theo kiểu Perl 'tự nhiên' nhất để không có nguy cơ mất dữ liệu.

Đối với một số trình điều khiển có thể khó triển khai, đặc biệt là những trình điều khiển hỗ trợ trả về nhiều tập kết quả, với số lượng cột khác nhau, từ một xử lý duy nhất, như DBD ::mysql làm.

Tôi đã lướt qua tài liệu DBD ::mysql nhưng không thấy bất kỳ đề cập nào về chủ đề này, vì vậy tôi đã xem mã có liên quan nơi tôi có thể thấy rằng DBD ::mysql hiện tại is trả về số dưới dạng số. Ngoài ra còn có rất nhiều tham chiếu đến những thay đổi gần đây trong lĩnh vực này trong Nhật ký thay đổi .

Có lẽ bạn đang sử dụng phiên bản cũ của DBD ::mysql và nên nâng cấp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tải tệp lên MySql DB bằng PHP

  2. Laravel 5 Eloquent:Làm cách nào để lấy dữ liệu sql đang được thực thi? (với dữ liệu liên kết)

  3. Cách thoát từ khóa giá trị trong mysql khi sử dụng câu lệnh Chọn

  4. Cách tính toán trung bình động trong MySQL

  5. Khóa ngoại và NULL trong mySQL