0

我做了一张桌子:

CREATE TABLE IF NOT EXISTS vehicles (
    vehicleid INT(3),
    vehiclex FLOAT(6,6),
    vehicley FLOAT(6,6),
    vehiclez FLOAT(6,6),
    vehicleaw FLOAT(6,6),
    vehiclecolor1 INT(2),
    vehiclecolor2 INT(2)
)

现在当我试图插入这个:

INSERT INTO vehicles (vehicleid,vehiclex,vehicley,vehiclez,vehicleaw,vehiclecolor1,vehiclecolor2)
VALUES(411,1786.9001,-1892.1359,13.4903,14.0000,0,0)

首先,现在出现错误,没有警告:)

我在 SQL 查询中得到一个无效行:

SELECT * FROM `vehicles` ORDER BY `vehicles`.`vehiclez` ASC LIMIT 0, 30 ; 

结果 行数:1

车辆ID 车辆x 车辆车辆z 车辆aw 车辆颜色1 车辆颜色2 411 0.999999 -0.999999 0.999999 0.999999 0 0

所以我该怎么做?

4

1 回答 1

4

FLOAT的第一个参数是总位数,而不是小数点前的位数。

在您当前的代码中,总位数与小数点后可能出现的位数相同,因此存储的数字不能大于0.999999(或小于-0.999999)。

尝试类似的东西FLOAT(12, 6)

于 2013-02-08T15:39:55.823 回答