|
|
|
| Вобщем у меня есть пара вопросов. Я пишу CMS, в ней, как известно много таблиц. Вопрос как раз и будет по таблицам, вернее по её полям. Допустим у меня есть таблица "banners", для хранения информации о баннерах, со следующими полями:
id_banner (int, первичный ключ)- хранит ID баннера,
url (text)- хранит URL для перехода,
description (text)- описание,
image (text)- URL к изображению,
view (int)- число просмотров,
click (int)- число переходов,
hide (int)- отображение баннера.
Как лучше оргагизовать запрос на создание полей? Просто я не знаю где надо создавать поля со значениями NOT NULL, а где default NULL. Вобщем кто может объясните, как правильно употреблять: NOT NULL и default NULL. | |
|
|
|
|
|
|
|
для: sergey89
(29.05.2005 в 12:39)
| | Не совсем корректно. Существует два атрибута
NULL (по умолчанию) и NOT NULL - они означают, что поле может принимать значение NULL или не может. Кроме этого, существует ключевое слово DEFAULT, которое назначает значение по умолчанию - т.е. если при создании записи полю не передаётся значение оно получит значение DEFAULT. После DEFAULT можно указать в том числе и NULL, если поле снабжено атрибутом NULL или любое другое допустимое значение.
При создании таблицы неизбежны случаи, когда информации не достаточно и для части данных нельзя определить какое значение они примут. Такие данные обозначаются специальным типом — NULL.
Все поля, указание которых строго обязательно не должны принимать значения NULL. Если какое-то поле, например, description, не заполнено и это не означает, что описания нет в природе, просто на данный момент оно неизвестна, то это кандидат на значение NULL — отсутствие информации, неопределённое значение. Выполнение арифметических операций с NULL всегда даёт NULL, передача NULL в качестве аргумента функции, так же всегда приводит к NULL. Так как любые действия производимые над неопределённым значением даёт опять неопределённое значение. | |
|
|
|
|
|
|
|
для: cheops
(29.05.2005 в 13:17)
| | А для закрепления материала, не могли бы сказать, у каких из приведённых мной полей должно стоять что должно стоять. Все поля обязательно заполняются и принимают значение! | |
|
|
|
|
|
|
|
для: Sergey89
(29.05.2005 в 13:23)
| | Таблица может выглядеть следующим образом
CREATE TABLE bann (
id_banner int(11) NOT NULL auto_increment,
url text NOT NULL,
description text NOT NULL,
image text NOT NULL,
view int(11) NOT NULL default '0',
click int(11) NOT NULL default '0',
hide int(11) NOT NULL default '0',
PRIMARY KEY (id_banner)
) TYPE=MyISAM;
|
| |
|
|
|
|
|
|
|
для: cheops
(29.05.2005 в 13:33)
| | Большое спасибо, теперь я понял, что где и как употреблять =) | |
|
|
|