[英]unique values in a column but only unique for each associated foreign key : MySQL
我几周前问了这个问题 。 从那时起,我搬到了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(index_col_name,...)子句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.