gpt4 book ai didi

php - ON DUPLICATE KEY UPDATE 在 PDO 中不起作用

转载 作者:行者123 更新时间:2023-11-29 03:52:26 26 4
gpt4 key购买 nike

INSERT INTO b (id, website...) 
VALUES (:id, :website...)
ON DUPLICATE KEY UPDATE
website=:website ...

我有一个 MYSQL 查询,我有唯一的 SET id,为什么

website=:website ...

不起作用,当我更改为 website="whatever" 时它起作用了。有人知道为什么吗?

$job_B->bindValue(':website', $website, PDO::PARAM_STR);

最佳答案

作为一般提示,您在执行 ON DUPLICATE KEY 时不应“复制”插入的值。 Mysql为此提供了VALUES()函数,例如

INSERT INTO foo (bar) VALUES (:baz)
ON DUPLICATE KEY UPDATE bar := :baz

可以更好地重写为

INSERT INTO foo (bar) VALUES (:baz)
ON DUPLICATE KEY UPDATE bar = VALUES(bar)
^^^^^^^^^^^

VALUES() 将自动重新使用分配给 VALUES (...) 部分中指定字段的值,而不需要将另一个变量绑定(bind)到查询中.

关于php - ON DUPLICATE KEY UPDATE 在 PDO 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17028860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com