我想知道如何使配对列成为唯一键?
我正在研究MySQL工作台,现在我已经设置了两列(跟随,跟随)作为UQ,我假设这是唯一键?
所以当我尝试插入行时,我尝试插入
follow following
3 5
3 6
但是追随是唯一的关键。但是我只想为一对做唯一的钥匙,而不是单个数字。
由于
答案 0 :(得分:3)
如果我没弄错的话,你只为每一列设置了一个唯一的密钥。也许您希望复合列为UNIQUE
,请尝试
ALTER TABLE tableName ADD CONSTRAINT tb_UQ UNIQUE (follow, following)
如果您运行ALTER
语句,则上述示例数据有效,但如果您尝试插入另一对3, 5
,则可以保证失败。
答案 1 :(得分:1)
如果您使用follow
创建表作为PRIMARY键,那么RDBMS将仅基于该列强制实施唯一性。
作为JW建议的替代方案,您可以更改PRIMARY KEY:
ALTER TABLE tableName DROP PRIMARY KEY;
ALTER TABLE tableName ADD CONSTRAINT tb_UQ PRIMARY KEY (follow, following);