问题描述:
在将Excel表格中的数据导入到MySQL数据库时,如果有小数点,导入后会发现小数点消失了,变成了整数。
原因分析:
这是因为Excel表格的小数点并不是真正的小数点,而是句点或其他字符。在导入MySQL时,MySQL会将句点或其他字符当做普通字符处理,因此导致小数点消失。
解决方法:
将Excel表格中的小数点转换成真正的小数点,方法如下:1.选中Excel表格中的数据,右键选择“格式化单元格”;2.在弹出的格式化单元格对话框中选择“数字”选项卡;3.在“类别”列表中选择“数值”,并在“小数位数”中填写需要的位数;4.点击“确定”按钮,Excel表格中的小数点就会被转换成真正的小数点了。
导入MySQL时,需要在建表的时候将对应的字段定义成DECIMAL类型,并指定小数位数,例如:
CREATE TABLE `test` (`id` int(11) NOT NULL AUTO_INCREMENT,`price` decimal(10,2) NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这样,在将数据导入MySQL时,就能将小数点正确地存储在DECIMAL类型的字段中了。