2014-04-24 106 views
0

許多用戶都可以有很多標籤,所以我設計了這個表多對多的關係mysql的設計

user 
uId (PK) 



user-tab 
uId (FK) 
tabId (FK) 



tab 
tabId (PK) 

但是當我嘗試在user-tab添加FK我得到這個錯誤

1050 - Table '.\db\[email protected]' already exists 
+0

你如何添加FK?可能與FK /索引名稱衝突? – Devon

+0

@Devon是的,我進入用戶選項卡表,並在myphpadmin中點擊關係視圖 – user3522444

+1

向我們展示一個'DESCRIBE表'請問 –

回答

1

這是不DB設計或現有記錄的問題,但是存在命名問題。

命名不帶引號的標識符MySQL的規則是instaed的CamelCasedash-style-writing,使用

snake_case_writing

Docs

在不帶引號的標識符(不是字符串,值

允許的字符):

ASCII:[0-9,包括AZ,az $ _](基本拉丁字母,數字0-9美元,下劃線)

擴展:U + 0080 ... U + FFFF

編輯

從另一個刪節的文檔(這更讀取here

命名約定從多個單詞構成的標識符, 用下劃線而不是大寫來區分每個組件。 因此,使用my_var而不是myVar或MyVar。

避免大寫,除了類名;班級名稱應以大寫字母開頭 。

class Item; class Query_arena;類Log_event;避免使用函數名稱, 結構元素或以'_'開頭或結尾的變量。

在英文中使用長功能和變量名稱。這將使您的 代碼更易於讀取所有開發人員。