我创建了一个简单的php脚本,每晚运行一次,用于同步两个数据库。一天似乎一切正常,但今天至少有一个记录缺失(我说"至少#34;因为这是今天唯一需要的记录,并且从昨晚失踪)。
脚本的工作流程如下:
我发现问题是第一个数据库表上的第一个列表查询。我必须基本上从45天前提取记录到今天,这是代码:
$first_date = date('Y-m-d', strtotime('-45 days'));
$first_query = ("SELECT EVERYTHING_I_NEED
FROM mytable table1
WHERE table1.FileName IS NOT NULL
AND table1.creation_date > DATE_FORMAT('" . $first_date . "','%Y%m%d')");
$list = mysqli_query($_CONFIG['conn'], $first_query);
现在......我每晚都会提取大约12k条记录的内容,这是另一个有利于"至少"缺少一条记录。
棘手的部分:
我认为错误发生在查询的日期检查部分:
table1.creation_date > DATE_FORMAT('" . $first_date . "','%Y%m%d')")
因为,不幸的是,对于我来说,谁创建了这个第一个数据库表已经设置了#34; creation_date"作为CHAR(8)
...我试图再次使用更多日志来运行脚本,问题是还有许多其他记录,例如缺少的记录,并且大多数记录与此记录相同(所以在同一天创建,但文件名不同)。
请告诉我是否必须更精确。
我错过了什么或者我做错了什么?