0

短いバージョン Decimal 値を挿入しようとしていますが、挿入後、すべての Decimal 値に対して 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ステートメントは次のようになります

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

Decimal Variable に指定された値を変更します。私にとってはうまくいっています。

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 docを読むと、最初のパラメーターが精度であるため、が必要であるdecimal (13, 6)ことがわかります...それを見つけるには、最大値のグローバルな長さをカウントする必要があります。

于 2013-04-06T08:26:07.620 に答える