[英]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.