Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è la migliore struttura di database per mantenere i dati multilingue?

Simile al metodo 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

Quindi, per ogni tabella, crea un'altra tabella (nel mio caso con suffisso "_t") che contiene i campi tradotti. Quando SELECT * FROM products , semplicemente ... LEFT JOIN products_t ON products_t.id = products.id AND products_t.language = CURRENT_LANGUAGE .

Non è così difficile e ti tiene libero da mal di testa.