如果查询没有返回数据,则防止文件创建。

3
我每晚都有一个工作任务,该任务会执行一个查询并将查询结果导出到一个 .csv 文件中。
以下是一个例子:
SELECT Your_Column_Name
FROM Your_Table_Name
INTO OUTFILE 'Filename.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

我的问题是:是否有任何方法可以在不必执行两次查询的情况下防止文件创建,如果查询返回的总行数为0?一次用于计算行数,第二次用于创建文件。

1
您可以检查文件是否只有一行(表示没有数据),然后将其删除。或者,您可以编写一个过程,在写入之前检查计数。 - Tim Biegeleisen
1个回答

2

没有办法在不写更多代码的情况下防止文件被创建。

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

SELECT 1 FROM Your_Table_Name LIMIT 1

如果有匹配的行,则返回1行,否则返回零行。如果您担心计算所有匹配行太慢,那么这种方式会更快地返回结果。请保留HTML标签。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接