求数据大神帮忙解答MYSQL基础问题~~~

d
dela1
楼主 (北美华人网)
excel第一列数据为ID,第一个数为1 转化为CSV utf-8格式 用load data infile导入MYSQY,导进去第一个数变成了0, 其他数都能对上,warning 1366 incorrect integer value 求大神解答这是为什么?怎么解决 小白自学MYSQL中,求基础解答,没有navicat
m
minqidev
说明第一个1是字符形式的,你要看看csv格式里真正的数据。 比如我做了个例子,在1前面加个'', 看上去是对的,但实际上不对。
或者还有一个方法,你先把ID的column改成varchar(max), 看看第一个1里面到底是什么东西。

d
dela1
回复 2楼minqidev的帖子
谢谢MM 我试了第二张方法varchar 他显示出来是1了 excel表里我手打的是1呀 和下面234都一样的 为什么int格式他就读不出来是1呢 其他数字都可以 怎么看csv格式里的真正数据?
s
smbook
回复 2楼minqidev的帖子
谢谢MM 我试了第二张方法varchar 他显示出来是1了 excel表里我手打的是1呀 和下面234都一样的 为什么int格式他就读不出来是1呢 其他数字都可以 怎么看csv格式里的真正数据?
dela1 发表于 2021-04-16 01:34

把文件以Notepad 的方式打开,就能看出具体的内容。
d
dela1
回复 4楼smbook的帖子
用了notepad第一个看到的是1
t
tzgg
你需要指定字符集,否则文件会被当作ansi编码。这样文件开头的那个BOM会被当成一个字符。在into table new_table后边加上character set utf8就可以了。
d
dela1
回复 6楼tzgg的帖子
加上了还是0 哭 而且之前excel转csv的时候选utf8了
h
huashan2018
回复 6楼tzgg的帖子
加上了还是0 哭 而且之前excel转csv的时候选utf8了

dela1 发表于 2021-04-16 04:44

1366后面应该要跟第几row出错。仔细看那一列。
0表示mysql无法读取你这个数值,所以给了个default value为0。
最后,需要你post你的完整csv文件在这里。
b
boguagua
回复 8楼huashan2018的帖子
应该是原始数据的关系。比如有空格,有隐含回车字符等。 需要用高级点的文本编辑器打开,然后查看隐含字符。比如用sublime。 作为测试,可以自己直接往空csv file里手写几个数据,不通过execel。 看看是不是有问题。
最后珍惜生命,远离微软,她的世界我不懂。