Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é a melhor estrutura de banco de dados para manter dados multilíngues?


Semelhante ao método 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

Então, para cada tabela, faça outra tabela (no meu caso com o sufixo "_t") que contém os campos traduzidos. Quando você SELECT * FROM products , simplesmente ... LEFT JOIN products_t ON products_t.id = products.id AND products_t.language = CURRENT_LANGUAGE .

Não é tão difícil, e mantém você livre de dores de cabeça.