我需要创建一个列,其中可以存储“0.0 - 99.99”的值。
为什么呢?因为这种情况:
我的数据库中有这个表:
"CREATE TABLE dumps(
id INT NOT NULL auto_increment,
dump_value NUMERIC(5,2),
PRIMARY KEY(id),
UNIQUE KEY dump_value (dump_value))";
当我插入值“1.0”时,我在我的表中得到这个:“1.00”,这是因为NUMERIC期望它正好是两位数的长期? 但是当我改变我的表格时:
"CREATE TABLE dumps(
id INT NOT NULL auto_increment,
dump_value NUMERIC(5,1), // <---- CHANGED
PRIMARY KEY(id),
UNIQUE KEY dump_value (dump_value))";
我有插入像“50.44”这样的值的问题,因为在我的表中只保存了“50.4”,我需要改变什么? 问候
答案 0 :(得分:0)
为什么将“1.0”更改为“1.00”是一个问题。这不会改变计算中的某些内容,您仍然可以将值“00.00”存储到“99.99”。
答案 1 :(得分:0)
根据MySQL documentation for NUMERIC,您的定义应为
dump_value NUMERIC(4,2) UNSIGNED
这将定义总共四位数的列,小数点后两位。
在更改的示例中,您将dump_value定义为仅包含小数点后的一位数。