如果查询 returns 无数据,则阻止创建文件

Prevent file creation if query returns no data

我有一个每晚运行的作业,它执行一个查询并将该查询的结果导出到一个 .csv 文件中。

这是我的意思的一个例子:

SELECT Your_Column_Name
FROM Your_Table_Name
INTO OUTFILE 'Filename.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

我的问题是:如果查询 returns 总行数为 0,是否有任何方法可以防止创建文件而无需执行两次查询?一次计算行数,两次创建文件?

不,如果不多写一点代码,就无法阻止文件的创建。

您不一定需要计算行,如果您只想知道是否有零行或多于零行。

SELECT 1 FROM Your_Table_Name LIMIT 1

如果有任何匹配行,这将 return 1 行,否则它将 return 零行。如果您担心计算 所有 匹配行太慢,那么这会 return 更快。