【问题标题】:Pairing Unique Columns MySQL?配对唯一列 MySQL?
【发布时间】:2013-02-02 01:46:17
【问题描述】:

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

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

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

follow      following
  3              5
  3              6

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

谢谢

【问题讨论】:

    标签: mysql sql database unique mysql-workbench


    【解决方案1】:

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

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

    如果你运行ALTER语句,上面的示例数据是有效的,但如果你尝试插入另一对3, 5,它肯定会失败。

    【讨论】:

    • 感谢这项工作。我不得不删除一些东西,但基本上我明白了,谢谢
    【解决方案2】:

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

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

    ALTER TABLE tableName DROP PRIMARY KEY;
    ALTER TABLE tableName ADD CONSTRAINT tb_UQ PRIMARY KEY (follow, following);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2021-11-09
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      相关资源
      最近更新 更多