如果名称已在其中,我的脚本需要更新表。但它并没有这么做。
这是我正在使用的代码
$sth = $db->prepare(
'INSERT INTO track (rsname, overallranknow, overalllevelnow, overallxpnow)
VALUES (:name, :Overalln, :Overall1, :Overall2)
ON DUPLICATE KEY UPDATE
rsname = values(rsname),
overallranknow = values(overallranknow),
overalllevelnow = values(overalllevelnow),
overallxpnow = values(overallxpnow)'
);
$sth->bindValue(':name', $name, PDO::PARAM_STR);
$sth->bindValue(':Overalln', $Overalln, PDO::PARAM_INT);
$sth->bindValue(':Overall1', $Overall[1], PDO::PARAM_INT);
$sth->bindValue(':Overall2', $Overall[2], PDO::PARAM_INT);
$sth->execute();
仅当名称已存在时才应更新。我对 PDO 不太了解,所以这就是我问这么多的原因。
~Kev(英语不好=抱歉)
最佳答案
教您此查询的人并没有告诉您需要唯一 key 才能使其工作。
关于mysql - PDO 未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567293/