mysql:如果找不到记录,请避免写入outfile
我使用这样的查询写入csv文件:mysql:如果找不到记录,请避免写入outfile,mysql,Mysql,我使用这样的查询写入csv文件: select 'column_name1', 'column_name2', 'column_name3' union all select column1, column2, column3 from mytable where id = 123 into outfile '/my/path/file.csv'; 当union语句的第二部分找不到任何记录时,是否可以避免写入文件?(换句话说,如果总行数为1。)您可以按如下方式使用: DROP FUNCTION
select 'column_name1', 'column_name2', 'column_name3' union all select column1, column2, column3 from mytable where id = 123 into outfile '/my/path/file.csv';
当union语句的第二部分找不到任何记录时,是否可以避免写入文件?(换句话说,如果总行数为1。)您可以按如下方式使用:
DROP FUNCTION IF EXISTS `my_function`;
CREATE DEFINER = `user`@`%` FUNCTION `my_function`() RETURNS int(11)
BEGIN
SELECT COUNT(*) FROM mytable WHERE id = 123 LIMIT 1 INTO @records;
IF @records > 0 THEN
SELECT 'column_name1', 'column_name2', 'column_name3'
UNION ALL
SELECT column1, column2, column3 FROM mytable WHERE id = 123
INTO OUTFILE '/my/path/file.csv';
END IF;
RETURN 0;
END