Mysql - 基于2列的唯一字段,同时忽略空值

时间:2013-07-12 09:53:54

标签: mysql

我有一个包含以下字段的表

id - (int) primary
project_id - (int)
post_id - (int)

我需要设置它以使post_id字段是唯一的,但仅限于特定的项目ID。

即:

id || project_id || post_id

1     1             1
2     1             2
3     1             3
4     2             1
5     2             2
6     2             3

这可能吗?

编辑:我现在有一个新问题,有时post_id字段将为null,有没有办法使用

      ALTER TABLE TableName
      ADD CONSTRAINT uc_PostProject UNIQUE (post_id,project_id)

但忽略null post_id's?

1 个答案:

答案 0 :(得分:0)

添加以下

ALTER TABLE TableName
ADD CONSTRAINT uc_PostProject UNIQUE (post_id,project_id)

有关详细信息,请参阅http://www.w3schools.com/sql/sql_unique.asp