gpt4 book ai didi

mysql - 通过 cron 将参数传递给 SQL 脚本

转载 作者:行者123 更新时间:2023-11-30 22:38:42 28 4
gpt4 key购买 nike

我有一个 shell 脚本,它运行一些 sql,如下所示:

DB_USER="xxx"
DB_PASSWORD="yyy"

/usr/bin/mysql -u $DB_USER -p$DB_PASSWORD < /home/xylar/tasks/users.sql

在 sql 文件中,我使用以下方法将用户导出到 txt 文件中:

SELECT
'id',
'name',
'status'
UNION ALL SELECT a.* FROM(SELECT
id,
name,
status
FROM
users
)a

INTO OUTFILE '/tmp/YYYYMMDD_users_000INC.txt'
FIELDS TERMINATED BY '|' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'

我每个月都通过 cron 任务运行脚本:

0 0 1 * * /home/xylar/tasks/export.sh

sql文件中有两个变量,YYYMMDD和INC,有没有办法将它们作为变量传入?

  • YYYYMMDD 当前日期
  • INC 一个递增的整数,每次运行脚本需要加1

最佳答案

如果您需要当前日期来代替 YYYYMMDD,您可以通过 now() 函数从 SQL 脚本本身获取它。
对于增量数字 - 您也可以使用为此目的创建的新表的 AUTO_INCREMENT 字段在 SQL 中自行生成。

但是如果您需要传入特定的 YYYYMMDD 和 INC,则必须在将其放入“mysql”cmd 之前“预处理”原始 SQL。如何去做你可以阅读 here

关于mysql - 通过 cron 将参数传递给 SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695979/

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