我们在Ubuntu 9.04上使用MySql 5.0。完整版本是:5.0.75-0ubuntu10MySql FLOAT数据类型和多于7位数字的问题
我创建了一个测试数据库。和一个测试表。我看到下面的输出从一个INSERT语句:
mysql> CREATE TABLE test (floaty FLOAT(8,2)) engine=InnoDb;
Query OK, 0 rows affected (0.02 sec)
mysql> insert into test value(858147.11);
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM test;
+-----------+
| floaty |
+-----------+
| 858147.12 |
+-----------+
1 row in set (0.00 sec)
似乎有要与规模/精度在MySQL的设置有问题?还是我错过了什么?
UPDATE:
发现我们将其中一个号码的边界,这里是代码:
mysql> CREATE TABLE test (floaty FLOAT(8,2)) engine=InnoDb;
Query OK, 0 rows affected (0.03 sec)
mysql> insert into test value(131071.01);
Query OK, 1 row affected (0.01 sec)
mysql> insert into test value(131072.01);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM test;
+-----------+
| floaty |
+-----------+
| 131071.01 |
| 131072.02 |
+-----------+
2 rows in set (0.00 sec)
mysql>
我实际上在运行5.0.67 MySQL的Windows窗口上获得858147.13。 – itsmatt 2009-05-22 15:34:06