【发布时间】:2019-03-26 02:46:28
【问题描述】:
我想问一下MySql float 格式。我尝试插入浮点值,例如12345.66,它没有错误地插入,并且值完全相同。但是如果我尝试插入像12345.01 这样的值,插入的值就像这样12345.00。我尝试了任何具有.0* 的值,并且它始终插入为.00。为什么会这样?
我尝试从终端和 phpmyadmin 使用 MYSQL。 对不起我的英语不好。
这是我的 MYSQL 版本:
+-------------------------+-------------------------+
| Variable_name | Value |
+-------------------------+-------------------------+
| innodb_version | 5.7.23 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.23-0ubuntu0.16.04.1 |
| version_comment | (Ubuntu) |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+-------------------------+
这是我的创建表。所有的浮动都有同样的问题。
CREATE TABLE `angsurantempo` (
`ID` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`NoPA` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`Periode` int(11) NOT NULL,
`TglEfektif` datetime NOT NULL,
`Pokok` float(18,2) NOT NULL,
`Bunga` float(18,2) NOT NULL,
`Denda` float(18,2) NOT NULL,
`Hari` int(11) NOT NULL,
`TglPost` datetime NOT NULL,
`LogPost` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
`IDKop` varchar(5) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`ID`,`IDKop`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
我的插入查询:
INSERT INTO angsurantempo VALUES ('11372','PA-201708-002','15','2017-08-26 00:00:00','1882755.08','2261277.05','0','31','2017-08-30 15:16:00','PAA-201708-007','MAS1')
此MYSQL服务器安装在VPS Ubuntu中
【问题讨论】:
-
能否分享一下你的表结构
-
我的意思是在你的终端上输入这个命令
SHOW CREATE TABLE your_table_name \G -
我已经编辑了我的问题。添加显示创建表。感谢您回答我的问题
-
我无法在 MySQL 5.6 上复制您的问题。您的
INSERT查询是什么样的? -
我在帖子中包含了我的上传查询之一。我也无法在我的 PC 和笔记本电脑中复制该问题。我的笔记本电脑运行的是相同的 MYSQL 版本,但运行的是 ubuntu 18,而我的 PC 运行的是 mysql 版本 5.0。如果我在浮点数上插入值,并且 0 是点后的第一个数字,我的笔记本电脑和个人电脑都没有这个问题。
标签: mysql ubuntu phpmyadmin