【问题标题】:MySQL(5.6) "select * into outfile.." not creating filesMySQL(5.6)“选择*进入outfile ..”不创建文件
【发布时间】:2015-07-20 23:32:28
【问题描述】:

当我以 root 用户身份在本地主机上使用此命令时,它可以正常运行,但我似乎找不到实际文件。

SELECT * INTO OUTFILE 'C:\...\tableName.txt' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
FROM tableName;

当我尝试再次运行查询时,它说文件已经创建,即使它显然不是。

编辑:修复了我的查询语法

【问题讨论】:

  • MySQL 服务器是否在具有该位置权限的用户帐户下运行?
  • @Uueerdo 是的,我可以访问该位置,问题是我没有查看正确的数据目录

标签: mysql csv export file-location


【解决方案1】:

* 后面有一个不必要的FROM。您的查询应该看起来更像这样:

SELECT * INTO OUTFILE 'C:\...\tableName.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\r\n'
FROM tableName;

注意:确保mysql有写'C:\...\tableName.txt'的权限

至于文件已经创建错误:

该文件可能是在另一个 mysql 确实具有写入权限的目录中创建的,例如数据目录。这就是为什么您在多次运行查询后会收到文件已创建的消息。

从 mysql 命令行运行 show variables like '%dirdata%';,您应该会看到类似于以下内容的输出:

mysql> show variables like '%datadir%';
+---------------+-------------------------------------+
| Variable_name | Value                               |
+---------------+-------------------------------------+
| datadir       | c:\wamp\bin\mysql\mysql5.6.17\data\ |
+---------------+-------------------------------------+
1 row in set (0.35 sec)

在 Windows 中导航到该文件夹​​,您应该会在那里找到您的文件。

【讨论】:

    【解决方案2】:
    SELECT r INTO OUTFILE 'c:\dev\myA2.txt'
      FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
      LINES TERMINATED BY '\n'
      FROM a2;
    
    -- leads me to believe it works first time with rowcount output
    -- but it does not put file in dev
    -- run it again it says error 1086: File 'c:devmyA2.txt' already exists
    
    so that means it wrote it to c:
    
    the default of what mysql query engine has for c: at that time
    
    I did not hunt for it !
    
    the following works great (note the double slashes \\):
    
    SELECT r INTO OUTFILE 'c:\\dev\\drew_so_answers\\myA2.txt'
      FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
      LINES TERMINATED BY '\n'
      FROM a2;
    

    【讨论】:

      猜你喜欢
      • 2014-05-05
      • 2012-07-14
      • 2012-12-31
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2017-02-15
      相关资源
      最近更新 更多