0

几周前我问了这个问题。从现在到那时,我已经转移到 MySQL,但遗憾的是,解决方案没有转移。

这些列并没有使这comp_owner_id, comp_name对唯一,而是都被简单地标记为需要唯一。这样做的正确方法是什么?

我将 MySQL 5.1 与 InnoDB 表一起使用。

4

2 回答 2

1

如果您在那些应该创建列组合唯一约束的列上创建唯一索引。见http://dev.mysql.com/doc/refman/5.1/en/create-index.html

就像是

CREATE UNIQUE INDEX <index_name> ON <table_name> (COMP_OWNER_ID, COMP_NAME);

您在其中提供 index_name 和 table_name。

于 2012-09-28T05:49:17.037 回答
0

你能把你的表定义贴在这里吗?我认为您应该像这样 PRIMARYKEY(col1,col2) 用两列定义主键?

这是来自 MySQL 文档:

PRIMARY KEY 可以是多列索引。但是,您不能使用列规范中的 PRIMARY KEY 键属性创建多列索引。这样做只会将该单列标记为主要列。您必须使用单独的 PRIMARY KEY(index_col_name, ...) 子句。

于 2012-09-28T05:50:56.850 回答