У меня есть 2 таблицы:Mysql - ключ со значением нуль
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.
UPD:
Я хочу, чтобы получить перевод новостей с ид = 1.
перевод может существует, поэтому для каждого из языков (EN, FR, о.е. ...) Я могу получить перевод Влево Присоединяйтесь к news_item и news_item_lang. Но в некоторых случаях (id = 2) нет необходимости в переводе, поэтому для каждого языка я получаю ту же строку с полем lang
= NULL. Таким образом, перевод страницы HTML
/en/news/2.html
/ru/news/2.html
/fr/news/2.html
будет то же самое с названием «Это многоязычная !!!!!!!!!!!!!!!! титул».
вы ищете MySQL Query, чтобы узнать количество строк, которые содержат «NULL», или вы хотите, чтобы убедиться, что у вас есть только один 'значение NULL' во всей вашей БД? Во втором случае, прежде чем вставлять значения в БД, вы можете проверить свой дБ с помощью языка приложения, а затем вставить его. Если это решение не работает, можете ли вы объяснить, что именно вы хотите достичь? –
Я хочу убедиться, что у меня есть только одно значение NULL в поле 'lang' с id = 2 OR !!! Я не подавал «lang» со значением NULL, но тогда у меня может быть поле «lang» со значениями en, ru, fr ... Один момент, я делаю некоторое обновление. – webprogrammer
Вы пытаетесь остановить ввод данных (например, ID # 5)? Или вы хотите, чтобы сценарий SQL показывал, когда статья (например, статья # 2) имеет как многоязычный, так и один язык? – AgRizzo