我有一個像小數點(2,1)的列,它的工作正常,但是當我嘗試存儲像10這樣的值時,它存儲爲9.9 ..某些特定的原因?mysql存儲問題
1
A
回答
2
是的,當你說2,1時,你真正說的是:這個列可以存儲兩個數字,其中一個數字可以在小數點後面。 如果您希望能夠保存10.1,您可以使用DECIMAL(3,1),因爲10.1總共是3位數字。
它會發出警告,BTW: mysql> SHOW CREATE TABLE t \ G *************************** 1 。***** *********************** 表:t 創建表:CREATE TABLE t
( a
decimal(2,1)DEFAULT '0.0' )ENGINE = InnoDB的默認字符集= LATIN1 1行集(0.00秒)
的MySQL> INSERT INTO T(A)VALUES(10); Query OK,1 row affected,1 warning(0.00 sec)
mysql> SHOW WARNINGS \ G ************************* ** 1.行*************************** 級別:警告 代碼:1264 - 消息:超出範圍值列 '一個' 1行 1行集(0.00秒)
的MySQL>
-
編輯:並嚴格模式運行時(http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_traditional )它實際上會發出警告。
3
您的十進制字段的寬度爲兩位數,其中一位數字位於小數點右側。這意味着小數點左側只有一位數字。您不可能在該字段中存儲「10」。
相關問題
- 1. mySQL存儲函數問題
- 2. MySQL存儲功能問題
- 3. mysql存儲過程問題
- 4. 存儲過程+ mysql問題
- 5. TEX - Mysql UTF8_Data存儲問題
- 6. MYSQL存儲過程問題
- 7. Mysql存儲過程問題
- 8. MySQL數據存儲問題
- 9. 執行Mysql存儲過程的問題
- 10. MySQL的存儲過程INSERT問題
- 11. PHP/MySQL存儲過程問題
- 12. MySQL - 存儲過程語法問題
- 13. MySQL存儲過程聲明問題
- 14. Mysql - 存儲過程併發性問題
- 15. Mysql存儲過程SQLYog問題
- 16. facebook連接uid mysql存儲問題
- 17. Mysql二進制存儲問題
- 18. MySQL存儲過程循環問題
- 19. Mysql存儲過程。這個問題有什麼問題?
- 20. IOS存儲問題
- 21. 存儲問題永久存儲iphone
- 22. 存儲過程FREETEXT問題
- 23. 通用存儲庫問題
- 24. 本地存儲問題
- 25. 孤立存儲問題
- 26. 存儲器釋放問題
- 27. 通用存儲庫問題
- 28. SQLite存儲日期問題
- 29. iCloud:鍵值存儲問題
- 30. wso2密鑰存儲問題
因此,不是提出一個錯誤mySQL默默'降級'10到9.9?哇... – 2010-06-01 15:31:59
okie.thanks尋求幫助。我誤解了我在小數點前2位數字和小數點後1位數字的地方教授的語法 – Hacker 2010-06-01 15:42:44
pjabbott - 是的。如果你發現這種行爲不可取,那麼你可以在建立連接後發出SET SESSION sql_mode ='TRADITIONAL''。 – Hammerite 2010-06-01 19:26:55