无法使用LOAD DATA语句(带有制表符分隔的文件)将数据加载到表中

时间:2019-06-06 20:56:04

标签: mysql load-data-infile

我正在尝试通过以下脚本将制表符分隔的文件加载到我的数据集中:

     choiceBox.getItems().addAll("1","2","3","4");
     choiceBox.setValue("3");

     choiceBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
            @Override
            public void changed(ObservableValue<? extends Number> observableValue, Number oldNumber, Number newNumber) {
               //if you want to get the new value changed
                System.out.println(choiceBox.getItems().get((Integer) newNumber));
              //or you can invoke a function to do something else when value is changed
            }
        });

但是我遇到了错误

  

错误代码:1290“ secure_file_priv”已打开。

我相信我的语法正确,文件位于正确的指定位置,但是由于某些原因,我无法加载数据。

能否请您帮助我了解我在哪里做错什么?谢谢。

1 个答案:

答案 0 :(得分:0)

MySQL服务器通常以--secure-file-priv开始,这基本上限制了您可以使用LOAD DATA INFILE从哪个目录加载文件。有理由限制允许从哪个目录加载。

您可以使用SHOW VARIABLES LIKE "secure_file_priv";查看已配置为允许这些LOAD操作的目录。因此,您可以执行以下任一操作:

  1. 将文件移动到secure-file-priv指定的目录中。而且您的命令应该可以使用。
  2. -不推荐--:禁用secure-file-priv。您将不得不从startup中删除此选项,并且该操作不能动态完成(需要重新启动mysql服务)。检查您的MySQL启动 参数和my.ini。