Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / fk и null / 8 сообщений из 8, страница 1 из 1
18.11.2015, 10:54
    #39106293
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
Здравствуйте.

может я чего опять недопонимаю.

смотрю в базу. есть в одной таблице поле fake. является частью фк. смотрю равно оно null у большинства записей.
смотрю в мастер-таблицу. все поля fake имеют значения.

как тогда фк создался?
...
Рейтинг: 0 / 0
18.11.2015, 11:07
    #39106311
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
sergq,

если бы null был в pk тогда это было бы странно, а так всё нормально
...
Рейтинг: 0 / 0
18.11.2015, 11:11
    #39106324
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
Симонов Денис,

хм. так ведь тогда получается, что в подчиненной таблице запись по фк не соответствует мастеру.
В подчиненной поле not null. правда признак добавлен позднее создания поля.
Или все же недопонимаю?)
...
Рейтинг: 0 / 0
18.11.2015, 11:15
    #39106332
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
sergqВ подчиненной поле not null. правда признак добавлен позднее создания поля.выстрел себе в ногу. Привет "нересторабельному" бэкапу.
...
Рейтинг: 0 / 0
18.11.2015, 11:16
    #39106334
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
sergqИли все же недопонимаю?)да.
sergqхм. так ведь тогда получается, что в подчиненной таблице запись по фк не соответствует мастеру.это задокументированное поведение. Даже есть такое каскадное действие "SET NULL".
...
Рейтинг: 0 / 0
18.11.2015, 11:23
    #39106346
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
sergq,

До Firebird 3.0 не было официального способа для изменения NULL/NOT NULL. Значит правилось на свой страх и риск через системные таблицы. Коли ты уж добавил ограничение NOT NULL после того как в поле были значения NULL, то теперь делай

Код: sql
1.
2.
3.
UPDATE MyTable
SET MyField = DefaultValue
WHERE MyField IS NULL;
...
Рейтинг: 0 / 0
18.11.2015, 11:30
    #39106355
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
Ivan_Pisarevsky,

знаю ) даже завел процедурку для проверки таких косяков )

но раз уж с фк это нормально - топик можно утилизировать
...
Рейтинг: 0 / 0
18.11.2015, 11:40
    #39106372
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
fk и null
sergqдаже завел процедурку для проверки таких косяковСамое время ее применить.
sergqс фк это нормальнода.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / fk и null / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]