2017-04-22 52 views
0

當試圖創建包含十進制數據類型的新表/列時,它會自動將例如從十進制(9,3)更改爲十進制(9)。 mysql/phpmyadmin錯誤? mysql版本是5.7.14 爲什麼?SQL中的十進制數據類型mysql/phpmyadmin

+0

嗯,是的,這確實暗示了一個錯誤 - 在你的代碼中。但是你不顯示代碼,所以對於其他人來說真的沒有什麼好走了。 –

+0

我使用phpmyadmin來添加表結構:/(圖形方式沒有代碼:D) – Elmokh

回答

0

如果你真的在談論數據,而不是「數據類型」,...如果你的電話號碼是「12345」,因爲它是一些非英語語言環境,那麼解析就停在逗號處, 12「,在DECIMAL(,3)中存儲爲」12.000「。

+0

它存儲爲12不是12.000,否則,當我定義DECIMAL(9,3)它會自動更改爲DECIMAL(9)(if我用sql編寫而不是圖形方式它正確完成)(我認爲輸入控制的問題?) – Elmokh

+0

它是否改變_output_或_datatype_? –

+0

從DECIMAL(9,3)到DECIMAL(9)的數據類型 – Elmokh

0

它看起來像在phpMyAdmin(我使用的版本4.6.4,而最新的穩定版本是4.7.1)中的錯誤:

1)使用原始SQL正常工作:

ALTER TABLE table_name CHANGE column_namecolumn_name DECIMAL(3,1)NOT NULL;

2)使用UI到長度/值設置爲3,1產生錯誤的SQL:

ALTER TABLE table_name CHANGE column_namecolumn_name DECIMAL(3) NOT NULL;

如果使用沒有區別。 (點)而不是(逗號)。

使用phpMyAdmin UI來操作表結構時要小心,因爲您可以輕鬆截斷數據!總是使用預覽SQL檢查即將執行的內容!