这些列只是被标记为需要唯一,而不是使comp_owner_id, comp_name
对唯一。解决这个问题的正确方法是什么?
我正在使用带有InnoDB表的MySQL 5.1。
答案 0 :(得分: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。
答案 1 :(得分:0)
您可以在此处粘贴表格定义吗?我认为你应该用两列来定义primarykey,比如PRIMARYKEY(col1,col2)?
这是来自MySQL doc:
PRIMARY KEY可以是多列索引。但是,您无法使用列规范中的PRIMARY KEY键属性创建多列索引。这样做只会将单列标记为主列。您必须使用单独的PRIMARY KEY(index_col_name,...)子句。