php – 我可以使用SET选项使用ON DUPLICATE KEY UPDATE和INSERT
我见过以下内容(使用VALUES选项):
…但我无法想象如何将ON DUPLICATE KEY UPDATE添加到我正在使用的内容中:
例如:,伪代码
我会发现后者更容易阅读.希望澄清,没有在手册中找到一个例子. 干杯 最佳答案 我经常使用ON DUPLICATE KEY UPDATE.对于某些情况,它是非标准的SQL扩展,真的值得使用.首先,您需要确保具有唯一的键约束. ON DUPLICATE KEY UPDATE函数只有在出现唯一的密钥违规时才会启动. 这是一种常用的格式:
column1 = values(column1)表示“如果查询未达到重复键冲突,则更新column1,其中包含已插入的值.”换句话说,它只是意味着将column1更新为插入工作所需的内容. 查看此代码,您正在更新要插入的所有三个列似乎不正确.哪个列有独特的约束条件? 编辑:根据OP的问题,根据’SET’格式修改mysql插入语句. 基本上使用ON DUPLICATE KEY UPDATE,您只需像往常一样编写insert语句,但添加ON DUPLICATE KEY UPDATE子句.我相信它应该像这样工作:
同样,您要插入的列之一必须具有唯一索引(或列的组合).这可能是因为其中一个是主键,或者因为表上有唯一索引. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |