我有一个PHP脚本,可以将sql脚本导入MySQL 5数据库.每个脚本只包含UPDATE
每个更新表(MyISAM)中的1行的语句.
如果一行未在其中一个脚本中存在2天,则必须将其删除.该表有一个时间戳列.但是,当UPDATE语句没有更改任何列时,时间戳不会更新,我无法告诉该行是否在导入文件中.有没有办法强制这个时间戳更新,即使没有数据更改?
编辑: 进一步澄清.
importfile是gzip压缩文件,包含大约450.000行,每行是1 UPDATE语句.
这是处理导入文件的PHP函数:
private function ImportFile($filename) {
$importfile = gzopen($filename, "r");
if (!$importfile) {
throw new Exception("Could not open Gzip file " . $filename);
}
while (!gzeof($importfile)) {
$line = gzgets($importfile, 4096);
if (!$line) {
throw new Exception("Error reading line number $line Gzip file $filename");
}
if (strlen(trim($line)) > 0) {
$this->DB->Query($line);
}
}
gzclose($importfile);
}
Run Code Online (Sandbox Code Playgroud)