2

我想知道如何使配对列成为唯一键?

我正在研究 MySQL 工作台,现在我已经将两列 (follow,following) 设置为 UQ,我假设这是唯一键?

所以当我试图插入行时,我试图插入

follow      following
  3              5
  3              6

但跟随是唯一的关键。但我只想为一对做唯一的钥匙,而不是单独的数字。

谢谢

4

2 回答 2

3

如果我没记错的话,您只为每列设置了一个唯一键。也许你想要复合列UNIQUE,试试

ALTER TABLE tableName ADD CONSTRAINT tb_UQ UNIQUE (follow, following)

如果您运行该ALTER语句,则上面的示例数据是有效的,但如果您尝试插入另一对3, 5,则保证会失败。

于 2013-02-02T01:50:09.110 回答
1

如果您使用followPRIMARY 键创建表,则 RDBMS 将仅基于该列强制唯一性。

作为 JW 建议的替代方案,您可以更改主键:

ALTER TABLE tableName DROP PRIMARY KEY;
ALTER TABLE tableName ADD CONSTRAINT tb_UQ PRIMARY KEY (follow, following);
于 2013-02-02T01:58:27.787 回答