我正在从 Amazon API 获取大量产品信息。我使用 ASIN 作为我的主键。运行 INSERT
时,我想检查它是否存在,如果存在,更新一些值并继续。我不想要重复的记录。
这是一个代码片段:
$stmt = $this->dbh->prepare("
INSERT INTO products(ASIN, Many, Other, Values)
VALUES(:ASIN, :Many, :Other, :Values)
ON DUPLICATE KEY UPDATE Other= :Other
")
$stmt->execute(array(
':ASIN' => $ASIN,
':Many' => $many,
':Other' => $other,
':Values' => $values
));
这只是将重复记录添加到我的数据库中。我如何检查 ASIN,如果它是重复的,用任何新信息更新它?
最佳答案
您需要将数据库中的键设置为唯一键或主键,否则引擎将不知道它是否是重复键。
关于php - ON DUPLICATE KEY 创建新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30909354/