sql >> Databasteknik >  >> RDS >> Mysql

Vilken är den bästa databasstrukturen för att behålla flerspråkig data?

Liknar metod 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

Så för varje tabell, gör en annan tabell (i mitt fall med "_t" suffix) som innehåller de översatta fälten. När du SELECT * FROM products , helt enkelt ... LEFT JOIN products_t ON products_t.id = products.id AND products_t.language = CURRENT_LANGUAGE .

Inte så svårt och håller dig fri från huvudvärk.



  1. Hur man kopierar tabell i MySQL

  2. Hur man skapar och underhåller MySQL-databaser i cPanel

  3. Lagrad procedur för att få information om databastabeller

  4. Kan jag ha en främmande nyckel som refererar till en kolumn i en vy i SQL Server?