powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / default value
9 сообщений из 9, страница 1 из 1
default value
    #39469981
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял по поводу поведения поля БД
not null - default value учитываетяся
null - default value - не учитывается...
после изменения(вставки) записи

Это правильно? соответствует стандартам?
...
Рейтинг: 0 / 0
default value
    #39470007
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
isql лог для воспроизведения проблемы привести изволишь?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
default value
    #39470019
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

default - такое значение используется, если при вставке оно НЕ УКАЗАНО.
Например, в таблице есть 2 столбца A и B.
B default 5
если
insert into table (a, b) values (null, null)
в обоих столбцах будет null
insert into table (a) values (null)
в A будет null, в B будет 5.

Если not null + default - значит null явно передавать нельзя.

В параметризованных запросах, в которых все столбцы перечислены, невозможно не указать значение, поэтому default не будет использоваться.

Да, это стандарт.

p.s. при добавлении столбца в таблицу с существующими данными default обязателен для not null. Потому что в данных этого столбца не существует, и вместо null должно быть какое-то значение (default). Если во всей таблице такой столбец обновить каким-то значением явно (update), то default после этого можно убрать.
...
Рейтинг: 0 / 0
default value
    #39470031
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял...
хотя в принципе спорно и не где явно не описано...
...
Рейтинг: 0 / 0
default value
    #39470064
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

что спорно? default это и есть "значение по умолчанию". Умолчание - это когда умалчивают, т.е. когда не указывают. А вы как хотели, собственно?
bsa1959и не где явно не описано...
не "не где" а "нигде". И не нигде, а везде. Например тут
https://www.w3schools.com/sql/sql_default.asp

The DEFAULT constraint is used to provide a default value for a column.
The default value will be added to all new records IF no other value is specified .

что тут непонятного?

И вы смешали not null с default непонятно на каком основании. Default это одно, а not null - совершенно другое.
...
Рейтинг: 0 / 0
default value
    #39470069
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959null - default value - не учитывается...
вы когда явно передаете null в insert, null тоже считается значением, только "пустым". Поэтому default в этом случае не работает (и не должен).
Иначе, по вашей логике, в столбец с допустимостью null и default вставить null никогда будет нельзя.
...
Рейтинг: 0 / 0
default value
    #39470071
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавлю к ответу kdv в 4.0 будет возможность указать ключевое слово DEFAULT в списке значений для вставки.

Код: sql
1.
2.
INSERT INTO T (A, B, C)
VALUES (1, DEFAULT, NULL)
...
Рейтинг: 0 / 0
default value
    #39470081
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисв 4.0 будет возможность указать ключевое слово DEFAULT в списке значений для вставки.

Но для параметризованного запроса такой возможности не будет. Разработчики подталкивают
леммингов к SQL injection.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
default value
    #39470084
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

это из стандарта. Что касается использования, то запрос пишется с использованием DEFAULT сразу и остаётся постоянным. Никто не будет менять его для случаев тут используем, тут нет. Ну конечно идиоты всегда найдутся.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / default value
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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