我正在尝试将150.1835024
和32.8392648
之类的内容插入mySQL float
。问题是当我尝试创建像FLOAT 3,7
这样的mySQL字段时,它不起作用。什么是正确的格式?
这是我得到的错误:
An error occurred when trying to add the field 'location_lat' via
ALTER TABLE `data` ADD `location_lat` FLOAT(3,7)
NULL
DEFAULT NULL
AFTER `fees`
MySQL said: For float(M,D), double(M,D) or decimal(M,D),
M must be >= D (column 'location_lat').
答案 0 :(得分:3)
看看错误,因为它说 MySQL说:对于float(M,D).. M必须是> = D 并且你的查询实际上应该是
ALTER TABLE `data` ADD `location_lat` FLOAT(7,3)
浏览MySQL Documentation On Floating-Point Types
MySQL允许非标准语法:FLOAT(M,D)。这里,(M,D)意味着 值最多可以存储M个数字,其中D个数字 可能在小数点后面。
答案 1 :(得分:3)
第一个数字是小数点的右侧和左侧的总位数。第二个数字是小数点右边所需的位数。所以你正在寻找:
ALTER TABLE `data` ADD `location_lat` FLOAT(10,7)
答案 2 :(得分:0)
不使用FLOAT(m,d)
,只需使用FLOAT
即可。前者增加了一个额外的回合,无需购买任何东西。
在任何一种情况下,FLOAT
都需要4个字节。