>我有一个包含配置文件的表格。如果有用户#: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;
请参阅插入的文档...关于重复键更新以获取更多信息和示例。