我从亚马逊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以及是否重复,请使用任何新信息进行更新?
答案 0 :(得分:1)
您需要将数据库中的密钥设置为唯一密钥或主密钥,否则引擎将不知道它是否是重复密钥。