使用重复键更新的 SQL 查询不起作用


SQL Query with ON DUPLICATE KEY UPDATE does not work

>我有一个包含配置文件的表格。如果有用户#:userId的配置文件,我想更新它。如果没有该用户的配置文件,我想插入它。我尝试了这个SQL查询,但它不起作用:

   插入到配置文件中    设置名称 = :名称,        网站 = :网站,        生物 = :生物    其中用户 = :用户ID    重复密钥更新时        名称 = :名称,        网站 = :网站,        生物 = :生物

"用户"是主键

编辑:我在SQL中发现了一个错误,当它看起来像这样时,它工作得很好:

   插入到配置文件中    SET user = :userId, -- <-- 错误在这里        名称 = :名称,        网站 = :网站,        生物 = :生物    重复密钥更新时        名称 = :名称,        网站 = :网站,        生物 = :生物

谢谢大家!

您的 INSERT 语法不正确(它看起来像一个修改后的 UPDATE 语句)。尝试类似操作:

INSERT INTO profiles (name, website, bio)
       VALUES (:name, :website, :bio)
  ON DUPLICATE KEY UPDATE website = :website, bio = :bio;

请参阅插入的文档...关于重复键更新以获取更多信息和示例。