gpt4 book ai didi

php - MySQL INTO OUTFILE 覆盖现有文件?

转载 作者:IT老高 更新时间:2023-10-28 12:56:05 25 4
gpt4 key购买 nike

我编写了一个创建 CSV 文件的大型 sql 脚本。我想每晚调用一个 cronjob 来创建一个新的 CSV 文件并在网站上提供。

例如,我将文件存储在“/home/sites/example.com/www/files/backup.csv”中

我的 SQL 是

SELECT * INTO OUTFILE '/home/sites/example.com/www/files/backup.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM ( ....

当文件已经存在时,MySQL 给我一个错误

File '/home/sites/example.com/www/files/backup.csv' already exists

有没有办法让 MySQL 覆盖文件?

我可以让 PHP 检测文件是否存在并在再次创建之前将其删除,但如果我可以直接在 MySQL 中执行它会更简洁。

最佳答案

不,没有办法覆盖它。来自 docs :

file_name cannot be an existing file, which among other things prevents files such as /etc/passwd and database tables from being destroyed.

每晚使用不同的文件名可能会更好,因为拥有多个备份意味着您可以从存在超过一天的问题中恢复。然后,您可以维护一个始终指向最新完整 csv 的符号链接(symbolic link)。

关于php - MySQL INTO OUTFILE 覆盖现有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960627/

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