OUTFILE MySQL无法使用union

时间:2014-09-08 19:21:33

标签: mysql sql

SELECT t1.email FROM(
SELECT email, SIGN(Locked1) FROM table WHERE SIGN(Locked1) <> 1
UNION
SELECT email, SIGN(Locked2) FROM table WHERE SIGN(Locked2) <> 1
UNION DISTINCT
SELECT email, SIGN(Locked3) FROM table WHERE SIGN(Locked3) <> 1
)t1
INTO OUTFILE 'emailDump.csv' FIELDS TERMINATED BY "," LINES TERMINATED BY "\n";

此查询运行但没有任何内容放入outfile。如果我在没有最后一行的情况下运行查询,那么行会显示出来,所以不是因为联合不会产生结果。我使用的是Windows 8.1 64位。

2 个答案:

答案 0 :(得分:0)

可能是位置。以下语法是正确的。我们将它放在C:的根目录中。

SELECT email
FROM table 
WHERE 
SIGN(Locked1) <> 1 or
SIGN(Locked2) <> 1 or 
SIGN(Locked3) <> 1
INTO OUTFILE 'C:\emailDump.csv' FIELDS TERMINATED BY "," LINES TERMINATED BY "\n";

答案 1 :(得分:0)

评论太长了。

这可能是权限问题。表达式:

INTO OUTFILE 'emailDump.csv' . . .

.csv文件放在当前目录中。这可能是MySQL的一些特殊目录,用户可能也可能无法访问它。

我建议你把你知道你有写权限的完整路径。作为奖励,如果您想将其用于某种目的,您稍后将能够找到该文件。