相关知识——关于csv文件
csv,全称comma-separated values,是以逗号作为分隔符存储表格数据的文本形式,是一种跨平台的串行资料流。
那它是怎么存储表格数据的呢?通过观察它的文本形式可知,每一行就相当于是表格的一行,而列则用,进行分割。
那有小伙伴就会好奇了,存储的数据里有逗号不是很常见吗?不会因此分割错误吗?从表面上看,存储的含有逗号的文本数据都会被处理为用""包住,以将其识别为一个统一的整体;从底层编码与传输的角度看,文本会被插入一些特殊的标记字符以示区分。
总之,csv格式无论对程序员还是机器来说都是很友好、很便捷、很直观的形式(虽然机器看到的是01码)
基本原则
保持csv文件和sql表的字段结构一致
乱码问题
保持文件和导入的编码格式一致:修改csv文件的编码格式为utf8,在导入到数据库表时选择的编码格式也为utf8.
一种简便的修改方式:用记事本打开csv文件,点击另存为,选择编码格式,用新文件覆盖原文件。
csv sql[ERR] 1062 - Duplicate entry 'xxx' for key 'PRIMARY'
一般报1062错误都是因为导入数据中主键有重复,或者该表和其他表相关联导致有外键冲突导致。
但我确认过我的数据里没有重复id。
我的解决方案:将原表删除,直接将csv文件导入到数据库中,自动生成一个新表,之后再根据个人需要决定是否需要将表重命名。