2012-03-26 53 views
1

當我向表中添加新列並將數據類型設置爲十進制例如10.2保存後將其轉換爲10.0 我該怎麼做。MySQL + phpMyAdmin小數默認爲每次都爲零

有人可以提供SQL請求來創建具有十進制數據類型的表我想運行它,看看它是否會像這樣工作?

+0

爲什麼不只是讓一個int和保存到數據庫之前轉換呢?或者設置字段的小數位爲0.這可能會起作用 – dreza 2012-03-26 06:01:49

+0

顯示錶 – 2012-03-26 06:01:53

+0

dreza的當前模式我該如何轉換? – JohnA 2012-03-26 06:06:41

回答

0

檢查您的表格架構。對於十進制數據類型,需要decimals (D)

DECIMAL(M,D) - 不能無符號的解壓後的浮點數。定義顯示器length (M)和是需要

示例模式

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

換句話說,你需要一個逗號,而不是兩位數字之間的小數。您應該指定10,2而不是10.2 - 後者被解釋爲單個參數(轉換爲整數10),因此只定義了左側的位數。 – 2013-05-20 16:42:25

0

我使用phpMyAdmin界面編輯表時,也有類似的問題。每次我試圖將字段小數點(6)更改爲十進制(6,2);當我打開時,它每次都會返回小數點(6)。 如果所有其他都不能編輯它直接生成的代碼。它爲我工作。

0

使用此查詢來改變你的十進制值:

ALTER TABLE table_name CHANGE column_name column_name DECIMAL(10,2) UNSIGNED NOT NULL;