簡體   English   中英

列中的唯一值,但每個關聯的外鍵僅唯一:MySQL

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM