0

简短版本 我正在尝试插入十进制值,但插入后它为所有十进制值存储 99.999999。我正在使用 MySql 5.5.16。

长版

我正在尝试使用下面的架构创建一个表

CREATE TABLE products (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  product_name CHAR(100),
  group_name CHAR(100),
  lon decimal(8,6),
  lat decimal(8,6),
  PRIMARY KEY (id)
);

我的插入语句看起来像

Insert into products (product_name , group_name , lon, lat) values
('Asparagus' , 'fresh vegetables' , 428743.9819 , 4512618.55);

我插入了 52 个值,总之Decimal,值正在返回99.999999

我还尝试使用FLOAT正在返回100.00000的情况,以防万一DOUBLE我得到99.999999.

任何指导都会有所帮助。

4

2 回答 2

3

更改十进制变量的值。对我来说,它工作正常。

CREATE TABLE products (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  product_name CHAR(100),
  group_name CHAR(100),
  lon decimal(15,6),
  lat decimal(15,6),
  PRIMARY KEY (id)
);
于 2013-04-06T08:26:41.017 回答
0

如果您阅读mysql 文档,您会发现您需要 adecimal (13, 6)因为第一个参数是精度......所以要找到它,您必须计算最大值的全局长度。

于 2013-04-06T08:26:07.620 回答