短版 我试图插入十进制值但插入后它存储所有十进制值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
。
任何指导都会有所帮助。
答案 0 :(得分: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)
);
答案 1 :(得分:0)
如果您阅读mysql doc,您将看到需要decimal (13, 6)
,因为第一个参数是精度...所以要找到它,您必须计算最大值的全局长度。