代码之家  ›  专栏  ›  技术社区  ›  Armin Orlik

sql唯一列w

  •  1
  • Armin Orlik  · 技术社区  · 8 年前

    我有一个简单的表,如下所示:

    id   info   user     start_date            end_date              resource_id
    31   NULL   aorlik   2018-01-04 08:00:00   2018-01-04 10:00:00   1
    32   NULL   aorlik   2018-01-04 15:00:00   2018-01-04 17:00:00   1
    

    现在,我正在寻找一种简单的方法,使列start\u date与列resource\u id的依赖项唯一。我想做一些保护,以避免两次设置相同的start\u date。它应该只允许为新的resource\u id设置相同的时间记录。我想这很容易,但我遇到了问题:/ 我使用MySQL和MySQL workbench。

    1 回复  |  直到 8 年前
        1
  •  2
  •   JohnHC    8 年前

    您需要应用约束,在本例中为 unique 约束条件:

    ALTER TABLE simple_table -- this defines the table to be altered
    ADD UNIQUE -- the constraint type
    start_resource(start_date,resource_id);  -- constraint_name(columns used, comma separated)