私の問題の解決策は実際には見つかりません。問題は次のとおりです。プライマリキーを実際に作成する必要はありますか?隔離されたテーブルのプライマリキー
詳細
私のウェブサイトは、私は別の翻訳で各単一の文/単語を入れている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
が翻訳したものですその言葉の
この場合、単語が必要な場合hello私はid = 1であることを知っていて、その言語を選択できます。
これは、この種のテーブルを作成するための良い方法ですか?私はよく分かりませんが、私は電話することができますので、これを簡単に見つけることができます:
SELECT text FROM tablename WHERE id = ? AND lang = ?
あなたは?私はPDOとparamsを結合するからです。 'lang'はクッキー(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 –