我在 MySQL 中存储值时遇到了一个非常奇怪的问题。前提:
我有一个DECIMAL(15,8)
用于存储货币值的表(如订单总额),但是当我尝试插入时,例如:
2,45545345
这被存储为
2.00000000
我尝试了 MySQL 的 FORMAT/CAST 函数,但输出仍然相同。
这是生成查询的方式:
$db->query("INSERT INTO `random_table_name` SET currency_value = '" . floatval($value) . "'");
我也试过了doubleval
,但结果一样。有趣的是,虽然同样的一段代码在几周前运行良好,但我不记得对 db 结构或 db 类可能导致这种情况的任何更改。