Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо DBI имплицитно променя цели числа в низове?

Както @choroba отбелязва в отговора си, не DBI прави нещо с данните. Просто преминава през това, което модулът на драйвера (DBD::mysql във вашия случай) върна.

В Общи правила и предупреждения за интерфейс раздел от документите на DBI пише:

Написах това още в дните, преди да беше обичайно да се конфигурира perl да поддържа 64-битови цели числа, а типовете с дълга двойна плаваща запетая бяха необичайни. Тези дни препоръчвам драйверите да връщат стойности в най-„естествения“ тип Perl, който не рискува загуба на данни.

За някои драйвери, които могат да бъдат трудни за внедряване, особено тези, които поддържат връщане на множество набори от резултати, с различен брой колони, от един манипулатор, както прави DBD::mysql.

Прегледах DBD::mysql docs но не видях никакво споменаване на тази тема, затова погледнах съответния код където мога да видя, че текущият DBD::mysql е връщане на числа като числа. Също така има много препратки към последните промени в тази област в регистъра на промените .

Може би използвате стара версия на DBD::mysql и трябва да надстроите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да ускоря MySQL заявка с голямо изместване в клаузата LIMIT?

  2. Как да проверите дали таблица вече съществува, преди да я създадете в MySQL

  3. Как да тествате дали даден низ е JSON или не?

  4. направи телефонен номер с възможност за щракване за набиране на екрана на мобилен телефон?

  5. Инсталиране на QMYSQL драйвер