MySQL version:8.0.11
提示:
* row(s) affected, 1 warning(s): 3719 'utf8' is currently an alias for the character set UTF8MB3, which will be replaced by UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
load data infile "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/file_name.csv" into table table_name character set utf8mb4
Fields Terminated By ','
Enclosed By '"'
escaped by ''
Lines Terminated By '\r\n'
IGNORE 1 LINES;
关键在于第一行末尾的 set utf8mb4,之前搜了很多文章,都是改 my.ini 的设置,可即便改了也还是不行,后来仔细读提示,觉得应该是在导入时确定,所以尝试了修改编码,把之前的 utf8 改为 utf8mb4 就好了。
这篇比较水~但确实是不容易搜到解决方案,所以就写出来,好让更多人更快搜到解决方案。
如果用客户端MySQL workbench导入数据,倒是没编码警告(前提是csv的编码是MySQL支持的),但那个速度,真的是。。。。。
PS:我偷懒的一个方式是,先用workbench在导入时设置好各字段及其格式,正式导入开始后取消,然后这时候表已经创建好了(不用写create。。。),清空表内容,再用命令导入。