【问题标题】:Prevent file creation if query returns no data如果查询没有返回数据,则阻止创建文件
【发布时间】:2020-03-11 15:53:14
【问题描述】:

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

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

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

我的问题是:如果查询返回的总行数为 0,而不必执行两次查询,有什么方法可以阻止文件创建?一次计算行数,两次创建文件?

【问题讨论】:

  • 你可以检查文件是否只有一行(表示没有数据),然后删除它。或者,您可以编写一个 proc 并在编写之前检查计数。

标签: mysql sql export-to-csv


【解决方案1】:

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

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

SELECT 1 FROM Your_Table_Name LIMIT 1

如果有任何匹配的行,这将返回 1 行,否则它将返回零行。如果您担心计数所有个匹配行太慢,那么这将更快地返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2012-07-27
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    相关资源
    最近更新 更多