【问题标题】:Dynamic file intro SQL Query动态文件介绍 SQL 查询
【发布时间】:2020-04-28 17:52:52
【问题描述】:

我有这个问题:

LOAD DATA LOCAL INFILE '/logfile20200111.txt' IGNORE INTO TABLE foo_db.log FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' (@val1, @val2, @val3, @val4, @val5) SET name=TRIM(@val1), type=TRIM(@val2), price=TRIM(@val3), active=TRIM(@val4), broken=TRIM(@val5);

我想使用一个每日 cronjob 来运行这个查询并从一个文件中导入我需要的信息到数据库中。

如何以动态方式获取文件?

/logfile20200111.txt -> 这是当前文件名,但明天将是其他文件logfile20200112.txt 等等。 文件的命名约定是logfile[year][month][day].txt 我需要进行此查询以了解每天从该位置获取的文件。

我的文件夹示例

提前致谢

【问题讨论】:

标签: php python mysql sql cron


【解决方案1】:

请更换

/logfile20200111.txt

CONCAT('/logfile',YEAR(CURDATE()), LPAD(MONTH(CURRENT_DATE()), 2, 0),LPAD(DAY(CURRENT_DATE()), 2, 0),'.txt')

【讨论】:

  • 我试过了,结果如下: SQL 错误 (1064):您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 CONCAT('/logfile',YEAR(CURDATE()), LPAD(MONTH(CURRENT_DATE()), 2, 0),LPAD(DAY(CURRENT_DATE) 附近使用的正确语法()), 2, 0),'.txt')
猜你喜欢
  • 2019-04-18
  • 2012-03-30
  • 1970-01-01
  • 2023-03-14
  • 2014-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
相关资源
最近更新 更多