使用一个公共列名称使两列唯一的两个组合

时间:2013-11-18 13:33:55

标签: mysql sql unique-constraint

我只是想快速,好像有人认为以下会导致问题:

我有一个包含很多列的表,其中三个是'fullname','groupid'和'pp_num'。

我想让以下两种组合独特:

fullname + groupid

fullname + pp_num

这会使它只有一行有两种组合。这会对我造成任何问题,除了它施加限制的事实吗?

任何抬头都非常感激

2 个答案:

答案 0 :(得分:1)

CREATE UNIQUE INDEX `your_index_name` ON `table_name` (`fullname`, `groupid`);
CREATE UNIQUE INDEX `your_index_name` ON `table_name` (`fullname`, `pp_num`);

或编辑您的CREATE语句以包含:

UNIQUE INDEX indexname (col1,col2)

http://dev.mysql.com/doc/refman/5.0/en/multiple-column-indexes.html http://dev.mysql.com/doc/refman/5.0/en/create-index.html

答案 1 :(得分:0)

将两个列的组合添加唯一约束是您尝试执行的操作,此处回答您的查询。

Click here

除了完全符合您要求的示例外。

    CREATE UNIQUE CLUSTERED INDEX index_name ON TABLE (col1,col2)
                                 or
    CREATE UNIQUE NONCLUSTERED INDEX index_name ON TABLE (col1,col2)