MySQL 错误 1148 和 1290:通过在 MySql Workbench 中导入 csv 文件自定义日期类型格式 dd-mm-yyyy
MySQL Error 1148 & 1290 : Custom Date type format dd-mm-yyyy by importing csv file in MySql Workbench 8
我厌倦了几种导入 dd-mm-yyyy 日期数据类型的 csv 文件的方法。首先我使用了 LOAD DATA LOCAL INFILE 方法:
LOAD DATA LOCAL INFILE 'C:\Log1.txt'
INTO TABLE Log_tmp
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(uid, DId , CName, @var1, Price, Custom)
SET date = STR_TO_DATE(@var1,'%d-%m-%y');
然后我得到了错误:
Error Code: 1148. The used command is not allowed with this MySQL
version
然后我在这个post中找到了解决办法。即,
On Windows (a little bit easier):
1. Run the following statement in MySQL Workbench:
SET GLOBAL local_infile = 'ON';
2. Run the following statement and make sure it shows ON:
SHOW VARIABLES LIKE "local_infile";
3. SHOW VARIABLES LIKE "secure_file_priv"; //Then you'll get the default path, usually C:\ProgramData\MySQL\MySQL Server 8.0\Uploads
4. Put your files into the folder shown in step 3
5. LOAD DATA without the LOCAL keyword (i.e., LOAD DATA INFILE 'your_file' INTO TABLE table_name ...)
使用上述方法后,出现如下错误:
Error Code: 1290. The MySQL server is running with the
--secure-file-priv option so it cannot execute this statement
请帮我解决。
如果您在 my.cnf
中将 loose-local-infile
设置为 1,它需要工作
loose-local-infile = 1
然后重新启动您的 mysql 服务器。
重新启动后,您可以通过发出
来检查全局变量
SHOW VARIABLES LIKE 'local_infile';
您也可以启用 local_infile 而无需使用 SET GLOBAL local_infile = 1;
更改 my.cnf 但是请记住,此变量将回滚到其原始状态(在 [=23= 中定义) ]) 重启后
我厌倦了几种导入 dd-mm-yyyy 日期数据类型的 csv 文件的方法。首先我使用了 LOAD DATA LOCAL INFILE 方法:
LOAD DATA LOCAL INFILE 'C:\Log1.txt'
INTO TABLE Log_tmp
COLUMNS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(uid, DId , CName, @var1, Price, Custom)
SET date = STR_TO_DATE(@var1,'%d-%m-%y');
然后我得到了错误:
Error Code: 1148. The used command is not allowed with this MySQL version
然后我在这个post中找到了解决办法。即,
On Windows (a little bit easier):
1. Run the following statement in MySQL Workbench:
SET GLOBAL local_infile = 'ON';
2. Run the following statement and make sure it shows ON:
SHOW VARIABLES LIKE "local_infile";
3. SHOW VARIABLES LIKE "secure_file_priv"; //Then you'll get the default path, usually C:\ProgramData\MySQL\MySQL Server 8.0\Uploads
4. Put your files into the folder shown in step 3
5. LOAD DATA without the LOCAL keyword (i.e., LOAD DATA INFILE 'your_file' INTO TABLE table_name ...)
使用上述方法后,出现如下错误:
Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
请帮我解决。
如果您在 my.cnf
loose-local-infile
设置为 1,它需要工作
loose-local-infile = 1
然后重新启动您的 mysql 服务器。
重新启动后,您可以通过发出
来检查全局变量 SHOW VARIABLES LIKE 'local_infile';
您也可以启用 local_infile 而无需使用 SET GLOBAL local_infile = 1;
更改 my.cnf 但是请记住,此变量将回滚到其原始状态(在 [=23= 中定义) ]) 重启后