пытаясь получить поврежденный файл возврата строки 0, содержит 250 тыс. записей:
$affectedRows = 0;
$affectedRows = $pdo->exec(
"DELETE FROM tablename WHERE Col3 BETWEEN '2018-01-01 00:00:00' AND '2018-01-31 00:00:00';
ALTER TABLE tablename AUTO_INCREMENT = 1;
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE tablename
FIELDS TERMINATED BY ','
LINES TERMINATED BY ' ' ( 'Col1', 'Col2', 'Col3')");
echo var_dump($affectedRows);
Сохраните CSV, но верните 0
Решено:
Этот скрипт полностью одобрен:
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE tablename
FIELDS TERMINATED BY ','
LINES TERMINATED BY ' ' ( 'Col1', 'Col2', 'Col3')
Но я сливаю его с другим в некотором Query Like That:
DELETE FROM tablename WHERE date BETWEEN '$Date1' AND '$Date2';
ALTER TABLE tbalename AUTO_INCREMENT = 1;
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE tablename
FIELDS TERMINATED BY ','
LINES TERMINATED BY ' ' ( 'Col1', 'Col2', 'Col3');
это неправильно, потому что $PDO->exec()
Cant возвращает количество затронутых таблиц или строк.
Вместо этого, чтобы решить, мне нужно пройти массив, потому что мой скрипт поддерживает его так:
$stmtpre[1] = "DELETE FROM tablename WHERE date BETWEEN '$Date1' AND '$Date2';";
$stmtpre[2] = "ALTER TABLE tbalename AUTO_INCREMENT = 1;";
$stmtpre[3] = "LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE tablename
FIELDS TERMINATED BY ','
LINES TERMINATED BY ' ' ( 'Col1', 'Col2', 'Col3');";
То же самое: qaru.site/questions/16438686/...
$affectedRows
строки. Что такоеvardump
?$pdo->exec()
.