Mysql多个唯一密钥
问题描述:
当多个唯一密钥有可能具有一个或多个唯一密钥吗?Mysql多个唯一密钥
例如,我该如何检查这个键或这个键,如果发现一个重复的错误,然后更新该键?
我有2个独特的键:UPN和(用户名,学校)
我们出MYSQL使用上的重复更新语句。如果UPN通过,则在upn键上更新,如果重复或插入新行。我想,以检查UPN和(用户名,学校),并执行以下操作:
如果对 UPN匹配更新如果(用户名,学校)对 匹配更新,如果UPN dosnt比赛,但(用户名,学校)做更新(用户名,学校)比赛 如果upn比赛和(用户名,学校)在UPN比赛的dosnt更新
所以我需要它使用或代替和,这是可能的吗?
灰
答
您可以有条件运营商查询ON DUPLICATE
子句中模拟这种:
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));
在这种情况下更新的顺序是显著。