navicat+mysql,float精度问题 我用的navicat+mysql,在navicat里建了个float字段,但是他老是四舍五入,只保留整数部分.请问怎么在navicat设置该字段的精度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 show create table xxx显示一下你的表结构。 如果你用的是float ,由浮点数本身就存在精度问题,所有无法准确的表示一些小数。但它计算快。如果要精确的表示小数,你可以使用 decimal (n,m) 这种数据类型。 用float和decimal都一样,我用navicat直接建立的字段,我就是奇怪如何用navicat来设置,找不到哪里设置,小数都会被四舍五入成整数 show create table xxx贴一下你的表结构。 +-----------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-----------+--------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || r_id | varchar(8) | NO | | id | || r_content | varchar(200) | NO | | | || r_stan1 | varchar(60) | NO | | | || r_tscore | float(4,0) | NO | | | || r_stan2 | varchar(60) | YES | | NULL | || r_hscore | float(5,0) | YES | | NULL | || r_stan3 | varchar(60) | YES | | NULL | || r_nscore | float(5,0) | YES | | NULL | || r_rule | varchar(1) | NO | | | |+-----------+--------------+------+-----+---------+----------------+这是命令行显示的结构,float应该是float(4,2)才对,用命令行如何修改.关键是我现在用的是可视化的navicat,不知道怎样去修改,请指教 mysql> create table t_c00757341 (id int primary key,r_tscore float(5,0));Query OK, 0 rows affected (0.08 sec)mysql> desc t_c00757341;+----------+------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+------------+------+-----+---------+-------+| id | int(11) | NO | PRI | NULL | || r_tscore | float(5,0) | YES | | NULL | |+----------+------------+------+-----+---------+-------+2 rows in set (0.02 sec)mysql> alter table t_c00757341 modify r_tscore float(5,2);Query OK, 0 rows affected (0.05 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> desc t_c00757341;+----------+------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+------------+------+-----+---------+-------+| id | int(11) | NO | PRI | NULL | || r_tscore | float(5,2) | YES | | NULL | |+----------+------------+------+-----+---------+-------+2 rows in set (0.01 sec)mysql> 有关mysqldump命令日期方面问题 MySQL在windowsXP上许可证的问题。 菜鸟问题 java调用mysql存储过程没有成功 帮忙优化一下my.cnf 高分求救: linux下的mysql问题.(在线等) 在mysql中如何比较2个16进制数字? 超级奇怪的问题!太怪了!!!... MYSQL,虚拟主机用户给多少权限? MYSQL数据库导出 com.mysql.jdbc.CommunicationsException 能否从mysql5 将数据库转移到mysql4?
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| r_id | varchar(8) | NO | | id | |
| r_content | varchar(200) | NO | | | |
| r_stan1 | varchar(60) | NO | | | |
| r_tscore | float(4,0) | NO | | | |
| r_stan2 | varchar(60) | YES | | NULL | |
| r_hscore | float(5,0) | YES | | NULL | |
| r_stan3 | varchar(60) | YES | | NULL | |
| r_nscore | float(5,0) | YES | | NULL | |
| r_rule | varchar(1) | NO | | | |
+-----------+--------------+------+-----+---------+----------------+这是命令行显示的结构,float应该是float(4,2)才对,用命令行如何修改.
关键是我现在用的是可视化的navicat,不知道怎样去修改,请指教
Query OK, 0 rows affected (0.08 sec)mysql> desc t_c00757341;
+----------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| r_tscore | float(5,0) | YES | | NULL | |
+----------+------------+------+-----+---------+-------+
2 rows in set (0.02 sec)mysql> alter table t_c00757341 modify r_tscore float(5,2);
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0mysql> desc t_c00757341;
+----------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| r_tscore | float(5,2) | YES | | NULL | |
+----------+------------+------+-----+---------+-------+
2 rows in set (0.01 sec)mysql>