[英]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.