Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quelle est la meilleure structure de base de données pour conserver des données multilingues ?

Similaire à la méthode 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

Donc, pour chaque table, créez une autre table (dans mon cas avec le suffixe "_t") qui contient les champs traduits.Lorsque vous SELECT * FROM products , simplement ... LEFT JOIN products_t ON products_t.id = products.id AND products_t.language = CURRENT_LANGUAGE .

Pas si difficile et vous évite les maux de tête.