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位。
答案 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的一些特殊目录,用户可能也可能无法访问它。
我建议你把你知道你有写权限的完整路径。作为奖励,如果您想将其用于某种目的,您稍后将能够找到该文件。