这种情况应该用“联合主键”?

2016-11-01 17:01:59 +08:00
 mfanming

id name linkid

1 jack 223

2 rose 12

3 tom 323

4 rose 111

5 jack 223

id 是自增的,是目前的主键

需求:不出现 id=1 和 id=5 的情况,就是 name 和 linkid 都一样

刚才试了一下,把 name 和 linkid 设为主键,提示必须有一个自增字段

就不懂了...

(mysql数据库)

1285 次点击
所在节点    问与答
4 条回复
AntiGameZ
2016-11-01 17:08:31 +08:00
你要的是在 name 和 linkid 上创建 UNIQUE INDEX ,而不是 PRIMARY KEY
mfanming
2016-11-01 17:28:55 +08:00
1.name 允许重复
2.linkid 允许重复
3. name + linkid 不允许重复

给他俩创建 UNIQUE INDEX 能保证 1 和 2 么?
刚才翻概念,看的云里雾里
mfanming
2016-11-01 17:40:09 +08:00
@AntiGameZ
明白了,是这种
name + linkid 联合索引 unique 类型
billlee
2016-11-01 21:59:44 +08:00
把自增字段去掉,就可以用 PRIMARY KEY(name, linkid) 了吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/317147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX