加载数据的成功模式

在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

```