|
|
|
| Такая ситуация. Проектирую таблицу в БД. Множество полей. Скрипт может записывать данные не во все поля. Так вот. Обязательно ли указывать, что поле может быть NULL для таких ячеек... ведь скрипт добавляет строку без ошибки даже если не добавляет ничего в ячейки, которые обозначены у меня как NOT NULL. На чем это потом скажется? | |
|
|
|
|
|
|
|
для: amsun
(21.03.2006 в 19:44)
| | >Обязательно ли указывать, что поле может быть NULL для таких
>ячеек... ведь скрипт добавляет строку без ошибки даже если
>не добавляет ничего в ячейки, которые обозначены у меня как
>NOT NULL.
Значит для этих столбцов заданы значения по умолчанию в структуре таблицы.
Пустая строка - вполне определенное значение. NULL - неизвестное (незаданное) значение. | |
|
|
|
|
|
|
|
для: Trianon
(21.03.2006 в 19:48)
| | Для некоторых не указаны на самом деле. Есть столбцы, где указан только тип данных и сказано, что они должны быть NOT NULL. Но они бывают пустыми... че-то я запутался.... | |
|
|
|
|
|
|
|
для: amsun
(21.03.2006 в 20:04)
| | Если это строковые типы данных, то для них вполне допустима пустая строка. Пустая строка - вполне определенное значение. Это не NULL. Как минимум, если мы говорим про MySQL. | |
|
|
|
|
|
|
|
для: Trianon
(21.03.2006 в 20:08)
| | ок, это строки. осталось выяснить что удобнее? точнее зачем этот NULL нужен тогда? просто мне нужно решать, что выбрать: при составлении таблицы указывать, что столбец NOT NULL, а потом без последствий не записывать туда при желании данные или строго указать, что столбец может быть NULL??? | |
|
|
|
|
|
|
|
для: amsun
(21.03.2006 в 20:27)
| | NULL при умножении или сложении с числом даёт NULL, передача в качестве параметра NULL даёт NULL - любые операции с NULL дают NULL - это понятно любые действия с неопределённым значением дают неопределённое значение. Пустая строка - это рядовое значение... | |
|
|
|