MySQL中的Decimal(3,2)值始终为9.99
我在MySQL中有一个类型为decimal(3,2)的Justsomenum字段,当我插入类似78.3的值时,该字段似乎始终为9.99。为什么?
这是我的tables的样子:
mysql> describe testtable;+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| firstname | varchar(20) | YES | | NULL | |
| lastname | varchar(20) | YES | | NULL | |
| justsomenum | decimal(3,2) | YES | | NULL | |
+---------------+--------------+------+-----+---------+----------------+
当我插入这样的内容并选择时:
mysql> insert into testtable (firstname, lastname, justsomenum) values ("Lloyd", "Christmas", 83.5);
当我选择时,我得到9.99。
mysql> select * from testtable;+----+-----------+-----------+---------------+
| id | firstname | lastname | justsomenum |
+----+-----------+-----------+---------------+
| 1 | Shooter | McGavin | 9.99 |
| 2 | Lloyd | Christmas | 9.99 |
| 3 | Lloyd | Christmas | 9.99 |
| 4 | Lloyd | Christmas | 9.99 |
+----+-----------+-----------+---------------+
4 rows in set (0.00 sec)
这是Mac OS X 10.5.8上的MySQL 5.0.86。
有任何想法吗?谢谢。
回答:
最大值为decimal(3, 2)
9.99,因此当您尝试插入大于该值的内容时,该最大值为9.99。decimal(5,
2)如果您想存储更大的数字,请尝试或进行其他操作。
第一个参数是精度的位数,第二个参数是小数点后的位数。
以上是 MySQL中的Decimal(3,2)值始终为9.99 的全部内容, 来源链接: utcz.com/qa/416805.html