加载数据的成功模式
在cmd管理员模式下进入MySql,输入数据如下:
mysql> set @@sql_mode=ANSI;
Query OK, 0 rows affected (0.03 sec)
mysql> load data infile 'd:/user_info_utf.csv' into table data.userinfo
-> fields terminated by ',';
Query OK, 101535 rows affected, 65535 warnings (0.97 sec)
Records: 101535 Deleted: 0 Skipped: 0 Warnings: 69456
mysql> load data infile 'd:/order_info_utf.csv' into table data.orderinfo
-> fields terminated by ',';
Query OK, 539414 rows affected, 65535 warnings (5.25 sec)
Records: 539414 Deleted: 0 Skipped: 0 Warnings: 77609
因为数据是csv数据是用逗号隔开的,所以要用fields terminated by ’
注意,load data infile 'd:/user_info_utf.csv' into table data.userinfo
里不用加local
问题1:
报错 The used command is not allowed with this MySQL version
解决方法:
查看local_infile模块 show global variables like 'local_infile';
value显示关闭,打开模块,输入set global local_infile='ON';
重启一下MySQL。先退出MySQL ,输入quit;
,输入net stop mysql
关闭服务,输入net start mysql
开启服务
问题2:
报错 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.
进入mysql输入代码如下
show global variables like 'secure_file_priv';
如果value为Null,则找到my.ini文件修改为secure_file_priv =
, 如果文件里没有secure_file_priv 则添加上。
右击【我的电脑】——【管理】——【服务和应用程序】——【服务】,将mySQL服务关掉。
在cmd里输入 net start mysql
,重启服务。
输入show global varaibles like 'secure_file_priv'
,则value为空。
问题3:
报错ERROR 1366 (HY000): Incorrect integer value: '1' for column 'userId' at row 1
格式错误,用notepad++ 把utf8-BOM转码成utf8码 (用notepad++ 打开文件,点击【编码】——【使用UTF-8编码】),然后保存。
修改后mySQL‘服务端无法启动’。mysqld -console
查看错误信息。
问题4
报错’ for column ‘both’ at row 18 date value: ’
原因:第18行为空值。
解决方法:
```
mysql> set @@sql_mode=ANSI;
Query OK, 0 rows affected (0.03 sec)
```
mysql> load data infile 'd:/user_info_utf.csv' into table data.userinfo
-> fields terminated by ',';
Query OK, 101535 rows affected, 65535 warnings (0.97 sec)
Records: 101535 Deleted: 0 Skipped: 0 Warnings: 69456
```