2012-03-26 9 views
1

テーブルに新しい列を追加し、データ型を10進数に設定すると10.2保存時に10.0 どうすればいいですか?毎回MySQL + phpMyAdminの小数点はデフォルトで0に設定されます

誰かが10進データ型のテーブルを作成するSQLリクエストを提供できますか?それを実行して、このように動作するかどうかを確認しますか?

+0

なぜそれint型にし、データベースに保存する前にそれを変換しませんか?代わりにフィールドの小数点以下の桁数を0に設定してください。それはうまくいくかもしれません – dreza

+0

テーブル –

+0

drezaの現在のスキーマを表示する方法は? – JohnA

答えて

0

テーブルスキーマを確認してください。 10進データ型の場合はdecimals (D)が必要です。

DECIMAL(M,D) - 符号なしにできないアンパックされた浮動小数点数。ディスプレイlength (M)とn umber of decimals (D)を定義するとが必要ですです。

例スキーマ

Create Table Stu(
id int(11) NOT NULL auto_increment, 
field_name decimal(10,2) default NULL 
); 
+0

つまり、2桁の長さの間の小数点ではなく、カンマが必要です。 10.2ではなく10.2を指定する必要があります。後者は1つのパラメータ(整数10にキャスト)として解釈され、左の桁数のみを定義します。 –

0

テーブルを編集するphpMyAdminのインターフェイスを使用したとき、私は同様の問題がありました。毎回フィールドdecimal(6)を小数点(6,2)に変更しようとしました。私が行ったら、毎回小数点(6)で戻ってくるでしょう。 他のすべてが失敗した場合は、直接生成するコードを編集します。それは私のために働いた。

0

使用あなたの小数点以下の値を変更するには、このクエリ:

ALTER TABLE table_name CHANGE column_name column_name DECIMAL(10,2) UNSIGNED NOT NULL; 
関連する問題