2013-12-13 29 views
0

林 我有這個(簡化)表結構:MySQL的做多外鍵指向使用MySQL與InnoDB的<br>一個表

表用戶:
- ID

表User_docs:
- ID
- USER_ID(應指向users.id)

表User_dogs:
- ID
- USER_ID(也應指向users.id)

所以我做第一2個表和加入的外鍵是這樣的:
ADD CONSTRAINT fk_user_id外鍵(worker_id)參考文獻usersid);

和它的一切都很好,但後來我做了第三個表並想做同樣的事情,但MySQL說我不能有多個同名的限制。

所以我的問題是:

我應該重新命名我的約束上,以fk_user_docs_to_user_idfk_user_dogs_to_user_id

或(ofc better) - 我可以使用我已創建的fk_user_id contsraint兩個表嗎?

我很抱歉,如果這個問題是愚蠢的,簡單問了很多次,但我已經一個小時了谷歌上搜索,發現什麼都沒有,我覺得這是沒有人會問它

回答

1

簡單的基本情況您必須以不同的方式命名它們,並且不能在兩個表中使用相同的約束。

你甚至可以刪除的名稱,讓MySQL的給他們你的名字:

ADD CONSTRAINT FOREIGN KEY (worker_id) REFERENCES users (id);