【发布时间】:2016-03-22 14:55:47
【问题描述】:
我编写了一个脚本,负责将 sql 文件导入数据库。这是它的样子:
<?php
$mysql_host = 'localhost';
$mysql_username = '';
$mysql_password = '';
$mysql_database = '';
try
{
$db = new PDO('mysql:dbname='.$mysql_database.';host='.$mysql_host,$mysql_username,$mysql_password);
$sql = implode(array_map(function ($v) {
return file_get_contents($v);
}, glob(__DIR__ . "/*.sql")));
$qr = $db->exec($sql);
echo "Import action - 100% successfull";
}
catch (PDOException $e)
{
echo 'Connection failed: ' . $e->getMessage();
}
?>
<BR />
它有效。但我想再添加一项功能 - 避免插入重复项。目前,每次我运行脚本时,我都会导入文件,最后 - 创建一堆重复项。如何让它正常工作?或者至少 - 覆盖数据库中的所有内容(但我想避免这样的解决方案..)
【问题讨论】:
-
你在说什么样的重复?有同名的文件吗?或者单独的文件是否包含相同的 INPUT 语句?