Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist die beste Datenbankstruktur, um mehrsprachige Daten zu speichern?

Ähnlich Methode 3:

[languages]
id (int PK)
code (varchar)

[products]
id (int PK)
neutral_fields (mixed)

[products_t]
id (int FK)
language (int FK)
translated_fields (mixed)
PRIMARY KEY: id,language

Erstellen Sie also für jede Tabelle eine weitere Tabelle (in meinem Fall mit dem Suffix „_t“), die die übersetzten Felder enthält. Wenn Sie SELECT * FROM products , einfach ... LEFT JOIN products_t ON products_t.id = products.id AND products_t.language = CURRENT_LANGUAGE .

Gar nicht so schwer und hält Sie frei von Kopfschmerzen.