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 –