
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.10.2013, 18:20:32
|
|||
|---|---|---|---|
|
|||
foreign key NULL |
|||
|
#18+
Привет всем Есть библиотека с городами: city {id, city} Еще одна библиотека с районами этих городов: locality {id, city_id, locality} И есть другая таблица допустим юзеров... user {id, city_id, locality_id, name} Таблицы понятно дело связаны внешними ключами, возникла такая проблема, когда city_id в таблице user равен NULL, то Код: plaintext Если да, то как можно составить запрос так, что если в значении user.city_id лежит NULL, то вообще это поле пропускать в SELECTе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2013, 18:26:27
|
|||
|---|---|---|---|
foreign key NULL |
|||
|
#18+
S_happyвообще не отрабатывается...Работает, работает... но так, как должен, а не так, как ты думаешь. S_happyТак и должно быть?Да. S_happyкак можно составить запрос так, что если в значении user.city_id лежит NULL, то вообще это поле пропускать в SELECTе?Во-первых, нет такого понятия, как "пропускать в SELECTе". Во-вторых, проверка на NULL выполняется конструкцией IS NULL. А проверка истинности хотя бы одного из двух условий - объедиенением их оператором OR. Ну и... нет ссылки - нет ключа. Или нормализуйте данные, или не говорите про FK, что ли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2013, 18:40:34
|
|||
|---|---|---|---|
|
|||
foreign key NULL |
|||
|
#18+
Akina, Спасибо за суровый ответ, я правда плохо дружу с БД... :) Как вариант сделаю просто тогда в таблице city и других библиотеках с нулевым id значение "не указано", а таблице user, если юзер при регистрации не указывает город или район, то default 0 в столбцы city_id, locality_id. Если я все же где-то ошибаюсь и это плохой выход - поправьте меня пожалуйста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2013, 18:42:13
|
|||
|---|---|---|---|
|
|||
foreign key NULL |
|||
|
#18+
Akina, Спасибо за суровый ответ, я правда плохо дружу с БД... :) Как вариант сделаю просто тогда в таблице city и других библиотеках нулевой id со значением "не указано", а в таблице user, если юзер при регистрации не указывает город или район, default 0 в столбцах city_id, locality_id. Если я все же где-то ошибаюсь и это плохой выход - поправьте меня пожалуйста... Извиняюсь и за корявый Русский:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2013, 21:04:37
|
|||
|---|---|---|---|
foreign key NULL |
|||
|
#18+
S_happyКак вариант сделаю просто тогда в таблице city и других библиотеках нулевой id со значением "не указано", а в таблице user, если юзер при регистрации не указывает город или район, default 0 в столбцах city_id, locality_id. Прежде чем бросаться вносить эти изменения - обдумайте хорошенько всю задачу. Особенно процессы. 50% за то, что FK нафиг не нужны - информация изначально не выглядит гарантированно согласованной. Ну и откройте для себя LEFT JOIN - забавный зверёк, я вам скажу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1835870]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 271ms |

| 0 / 0 |
