几周前我问了这个问题。从现在到那时,我已经转移到 MySQL,但遗憾的是,解决方案没有转移。
这些列并没有使这comp_owner_id, comp_name
对唯一,而是都被简单地标记为需要唯一。这样做的正确方法是什么?
我将 MySQL 5.1 与 InnoDB 表一起使用。
如果您在那些应该创建列组合唯一约束的列上创建唯一索引。见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。
你能把你的表定义贴在这里吗?我认为您应该像这样 PRIMARYKEY(col1,col2) 用两列定义主键?
这是来自 MySQL 文档:
PRIMARY KEY 可以是多列索引。但是,您不能使用列规范中的 PRIMARY KEY 键属性创建多列索引。这样做只会将该单列标记为主要列。您必须使用单独的 PRIMARY KEY(index_col_name, ...) 子句。