首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql多个唯一键

问Mysql多个唯一键
EN

Stack Overflow用户
提问于 2011-12-12 22:10:48
回答 1查看 1.4K关注 0票数 0

当有多个唯一键时,是否可以有或选项?

例如,我该如何检查这个键或这个键,如果一个键抛出一个重复的错误,那么更新那个键?

我有两个唯一的密钥: UPN和(用户名,学校)

我们在out MYSQL中使用on duplicate update语句。如果传递了UPN,则在upn键上进行更新,如果是重复的,则插入新行。我想检查UPN和(用户名,学校)并执行以下操作:

如果upn匹配If (用户名,学校)匹配更新If upn不匹配,但(用户名,学校)在upn匹配时更新(用户名,学校)匹配如果UPN匹配,(用户名,学校)不更新UPN匹配

所以我需要用它来代替and,这可能吗?

灰分

EN

回答 1

Stack Overflow用户

发布于 2011-12-12 22:24:14

您可以在查询的ON DUPLICATE子句中使用条件运算符模拟这一点:

代码语言:javascript
复制
INSERT INTO thetable (id, username, school, othervalue)
VALUES (10, 'newtover', 'cool school', 'a comment')
ON DUPLICATE KEY UPDATE
  username = IF(id = VALUES(id), VALUES(username), username),
  school = IF(id = VALUES(id), VALUES(school), school),
  id = IF(id = VALUES(id), id, VALUES(id));

在这种情况下,更新的顺序很重要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8475579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档