By东关

pdo mysql插入decimal数据时,小数点后的数据都是0
2021-01-08

PDO没有PDO::PARAM小数/浮点数,必须使用PDO::PARAM_STR

thinkphp5 中 \thinkphp\library\think\db\Query.php 1995行

preg_match('/(int|double|float|decimal|real|numeric|serial|bit)/is', $type)

改为
preg_match('/(int|double|float|real|numeric|serial|bit)/is', $type)

decimal类型默认PDO::PARAM_STR;

这样就解决了0.01插入数据变成0的困扰。

你必须 登录 才能发表评论.

  • 还没有人留下脚印噢,快来踩踩叭