[英]How to check number of rows before export the data in csv file from my sql table
下面的查询对我来说很好,可以将数据从表中导出到csv文件中,但是我想处理类似查询是否未返回记录的情况,那么'filename.csv'文件中应该包含用户的'未找到数据'消息
-- file name as timestamp
SET @fileName = DATE_FORMAT(NOW(),'%Y-%m-%d-%H:%i:%s');
SET @FOLDER = '/tmp/';
SET @EXT = '.csv';
SET @CMD = CONCAT("SELECT id,name,salary,salaryDate FROM emp1 where name ='some_name' INTO OUTFILE '"
,@FOLDER,@fileName,@EXT,
"' FIELDS ENCLOSED BY '\"' TERMINATED BY ',' ESCAPED BY '\"'",
" LINES TERMINATED BY '\n';");
PREPARE statement FROM @CMD;
EXECUTE statement;
我需要在哪里更改? 有人可以帮助我吗?
您应该创建存储过程。 使用COUNT函数检查行号,然后输出所需的结果之一,例如-
CREATE PROCEDURE procedure1()
BEGIN
IF (SELECT COUNT(*) FROM emp1 where name ='some_name') = 0 THEN
SELECT 'no data found' INTO OUTFILE 'file_name.csv';
ELSE
your code here - SELECT INTO OUTFILE
END IF;
END
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.