0
我正在尝试编写一个数据库截断脚本,它将在两个日期之间截断数据库中的表。这是一个在测试设置中运行的维护脚本,用于快速清理事件。在两个日期之间截断表(使用MySQL和bash脚本)
该脚本是用bash编写的,并调用MySQL。如前所述,这是一个用于测试目的的快速循环。
我收到一个错误。我怀疑它可能是围绕日期的单引号/抽搐。任何指导将不胜感激。
mysql -umaintainer -pfoo -Nse 'show tables' TestDatabase | while read table; do mysql -umaintainer -pfoo -Nse "SET FOREIGN_KEY_CHECKS = 0 ; truncate table $table where date BETWEEN '2015-01-01 00:00:00' AND '2015-03-31 23:59:59'" TestDatabase; done
错误是:
位于第1行ERROR 1064(42000):你在你的SQL语法错误; 查看与您的MySQL服务器版本对应的 右语法的手册,以便在'where date BETWEEN'2015-01-01 00:00:00'和 '2015-03-31 23:59:59''之间使用在线1
好的......很高兴知道。谢谢! – Xofo