gpt4 book ai didi

mysql触发器用动态文件名写入文件

转载 作者:行者123 更新时间:2023-11-29 08:38:53 24 4
gpt4 key购买 nike

我有兴趣创建一个触发器,该触发器将在将 csv 导入表后写入文件。文件名包含时间戳,我的代码无法正常工作。这是我到目前为止所拥有的。

DELIMITER $$
CREATE TRIGGER peachtree_trigger
AFTER INSERT ON peachtree
FOR EACH ROW
BEGIN
SET @sql_text = CONCAT("SELECT * FROM peachtree
INTO OUTFILE '/srv/samba/share/peachtree_",
DATE_FORMAT(NOW(), '%Y_%m_%D'), ".csv'");
PREPARE s1 FROM @sql_text;
EXECUTE s1;
DROP PREPARE s1;
END $$ DELIMITER ;

set 语句在触发器之外工作正常。但是,当我执行上面的代码集,然后尝试 SHOW TRIGGERS IN test;它返回一个空集。如果有人能提供帮助,我将不胜感激。

最佳答案

来自 http://dev.mysql.com/doc/refman/5.5/en/stored-program-restrictions.html

<截图>

SQL 准备语句(PREPARE、EXECUTE、DEALLOCATE PREPARE)可以在存储过程中使用,但不能在存储函数或触发器中使用。因此,存储函数和触发器不能使用动态 SQL(将语句构造为字符串,然后执行它们)。

关于mysql触发器用动态文件名写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14406556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com