mysql - PDO 未更新

标签 mysql pdo

如果名称已在其中,我的脚本需要更新表。但它并没有这么做。

这是我正在使用的代码

$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/

相关文章:

mysql - 如何计算mysql中不同项目的项目数?

php - 在将多个或批量插入查询更改为 PDO 时需要帮助

php - Docker-php-ext-install 与 apt install 比较?

php - PDO::last Insert Id 总是返回 0 与 MYSQL 和 prepare 语句一起使用

多语句查询中的PHP PDO错误

php - 根据另一个表的值有条件地更新一个表

mysql - 如何左连接来创建日期范围?

python - 如何格式化字符串以在 Python 中使用 mysqldb 进行查询?

php - 如何在 php docker 容器上安装/启用 pdo-odbc 驱动程序?

php - PDO - 查询不返回结果