|
|
|
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:20:32 |
|
||
|
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:26:27 |
|
||
|
foreign key NULL
|
|||
|---|---|---|---|
|
#18+
Akina, Спасибо за суровый ответ, я правда плохо дружу с БД... :) Как вариант сделаю просто тогда в таблице city и других библиотеках с нулевым id значение "не указано", а таблице user, если юзер при регистрации не указывает город или район, то default 0 в столбцы city_id, locality_id. Если я все же где-то ошибаюсь и это плохой выход - поправьте меня пожалуйста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 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+
S_happyКак вариант сделаю просто тогда в таблице city и других библиотеках нулевой id со значением "не указано", а в таблице user, если юзер при регистрации не указывает город или район, default 0 в столбцах city_id, locality_id. Прежде чем бросаться вносить эти изменения - обдумайте хорошенько всю задачу. Особенно процессы. 50% за то, что FK нафиг не нужны - информация изначально не выглядит гарантированно согласованной. Ну и откройте для себя LEFT JOIN - забавный зверёк, я вам скажу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2013, 21:04:37 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=204&tid=1835870]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 373ms |

| 0 / 0 |
