我有一个小型数据库,其中有一些books
和stocks
基本上是这样的:
| id | book | stock |
| 1 | Harry Potter... | 83 |
| 2 | Lord of the rings... | 45 |
| 3 | In Search of Lost Time | 8 |
我正在使用此代码一次插入多个记录-我正在使用php从CSV
文件中获取记录-(我在stackoverflow
上找到了它):
$pdo->beginTransaction();
$fields = ['book', 'stock'];
$values = [];
foreach($products as $product){
$bind[] = '(?,?)';
$values = array_merge($values, array_values($product));
}
$sql = "INSERT INTO books (" . implode(",", $fields) . ") VALUES " . implode(',', $bind);
$statement = $pdo->prepare ($sql);
try {
$statement->execute($values);
} catch (PDOException $e){
echo $e->getMessage();
}
$pdo->commit();
现在我遇到的问题是所有这些记录都应该是唯一的,但是当我运行此代码时,请检查{{ 1}}文件,它只是一遍又一遍地广告同一本书(使用不同的CSV
)。
是否有某种方法可以避免重复,但同时使用id
和multiple
值插入PDO
记录?
感谢您抽出宝贵时间阅读本文! :D