sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es la mejor estructura de base de datos para mantener datos multilingües?

Similar al 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

Entonces, para cada tabla, haga otra tabla (en mi caso con el sufijo "_t") que contenga los campos traducidos. Cuando SELECT * FROM products , simplemente ... LEFT JOIN products_t ON products_t.id = products.id AND products_t.language = CURRENT_LANGUAGE .

No es tan difícil y te mantiene libre de dolores de cabeza.