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