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

回到顶部