SET @SqlScript= CONCAT("select * from student into outfile '/tmp/stud_", DATE_FORMAT(NOW(), '%Y%m%d') ,".sql';");
PREPARE Sql_Text FROM @SqlScript;
EXECUTE Sql_Text;
导出带日期的sql文件,因为into outfile后面的文件名不能用变量, 查找网上大神提供的方法,没问题。执行OK,
但是导入使用同样的方法,在执行定义时,报错
SET @SqlScript= CONCAT("LOAD DATA INFILE '/tmp/stud_", DATE_FORMAT(NOW(), '%Y%m%d') ,".sql' INTO TABLE student;");
PREPARE sql_t FROM @SqlScript;
EXECUTE sql_t;
错误内容:
[SQL]
PREPARE sql_t FROM @SqlScript;
[Err] 1295 - This command is not supported in the prepared statement protocol yet
该怎么解决,或者有神马其他方法,导入带日期的文件名称。
---------------------------------------------
报错原因找到了,就是 PREPARE 中并不是支持所有的语句的。 LOAD DATA INFILE就不支持,使用会报错。
现在就是如何导入一个变量名称的文件?
存储过程不支持LOADDATA。要用LOADDATA就要放弃存储过程。
不管怎么说,谢谢回答。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。