999.99在Mysql / PhPMyAdmin中的1138值

时间:2014-09-08 09:50:57

标签: mysql phpmyadmin

我是php和mysql的新手很抱歉,如果这是一个愚蠢的问题,

我正在通过PhP My Admin将一些测量数据导入数据库。

CSV的值从1到3000,有些有小数,有些则没有。

由于这个原因,我觉得桌子不喜欢这种混合。

大多数值都正确显示,除了值超过999时,其中一个测量值显示999.99,值为1138.

有没有办法阻止它这样做?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:2)

那就是问题,数据类型。根据{{​​3}}:

  

DECIMAL列的声明语法是DECIMAL(M,D)。该   MySQL 5.6中参数的值范围如下:

     

M是最大位数(精度)。它的范围是1到65.(旧版本的MySQL允许范围为1到254.)

     

D是小数点右边的位数(刻度)。它的范围为0到30,且不得大于M.

因此,您的DECIMAL(5,2)列类型可以包含最多999.99的数字。您必须更改表格并使列更大。

(关于为什么MySQL更喜欢破坏你的数据而不是报告它,嗯,从早年开始就是它的哲学。你可以用the docs来解决这个问题。)