0
我真的不能找到解決我的問題,問題是:我真的必須在這裏創建一個主鍵嗎?孤立表上的主鍵
詳細
我的網站中有一個名爲translations
中,我把每一個句子/單詞以不同的翻譯數據庫中的表。我有這樣的結構:
id | lang | text
-------------------
01 | 01 | hello
01 | 02 | ciao
01 | 03 | salut
02 | 01 | surname
02 | 02 | cognome
02 | 03 | nom
場id
被連接到一個字,該字段lang
是一個數字,指示翻譯(01 =英語,02 =意大利語,03 =法國)和text
是翻譯這個詞。
在這種情況下,如果我需要(例如)單詞你好我知道它有id = 1,然後我可以選擇語言。
這是創建這種表的好方法嗎?我不確定,但我覺得這很容易,因爲我可以打電話:
SELECT text FROM tablename WHERE id = ? AND lang = ?
你可以看到?因爲我用PDO綁定了params。 'lang'是一個從cookie中獲取的常量(01,02,03)。
重要提示:在這裏我沒有主鍵,我只設置id
和lang
獨特
如果你有一個唯一索引,你應該做的是一個主鍵。我認爲你將_primary key_與_surrogate key_混淆。查看兩個術語。另外,您可以在DBA.SE上閱讀這個問題的答案:http://dba.stackexchange.com/questions/6108/should-every-table-have-a-single-field-surrogate-artificial-primary-key/6110#6110 –