我有 2 张桌子:
news_item:
id | catagory_id
1 | 2
2 | 100
3 | 50
4 | 3
news_item_lang:
id | id_origin | lang | title
1 | 1 | en | This is title in english
2 | 1 | ru | This is title in russian
3 | 1 | fr | This is title in french
4 | 2 | NULL | This is multilanguage !!!!!!!!!!!!!!!! title
5 | 2 | en | ...... ---------------------- This is WRONG case, because we have row with id = 4 already, which says no needs in row with lang = 'en'.
那么,我如何确定我只有一行 lang = NULL 或每种语言有很多行?对“id_origin - lang”是唯一键。id_origin 是表 news_item 的外部键。
升级版:
我想翻译 id = 1 的新闻。
翻译可以存在,因此对于每种语言(en、fr、ru ...),我可以使用 Left Join news_item 和 news_item_lang 进行翻译。但在某些情况下(id = 2)不需要翻译,所以对于每种语言,我都会得到字段lang
= NULL 的同一行。所以,html页面的翻译
/en/news/2.html
/ru/news/2.html
/fr/news/2.html
将与标题“这是多语言!!!!!!!!!!!!!!!标题”相同。