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

vehicleid vehiclex vehicley vehiclez vehicleaw vehiclecolor1 vehiclecolor2 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 に答える