Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Где употреблять NOT NULL и default NULL.
 
 автор: sergey89   (29.05.2005 в 12:39)   письмо автору
 
 

Вобщем у меня есть пара вопросов. Я пишу 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.

   
 
 автор: cheops   (29.05.2005 в 13:17)   письмо автору
 
   для: sergey89   (29.05.2005 в 12:39)
 

Не совсем корректно. Существует два атрибута
NULL (по умолчанию) и NOT NULL - они означают, что поле может принимать значение NULL или не может. Кроме этого, существует ключевое слово DEFAULT, которое назначает значение по умолчанию - т.е. если при создании записи полю не передаётся значение оно получит значение DEFAULT. После DEFAULT можно указать в том числе и NULL, если поле снабжено атрибутом NULL или любое другое допустимое значение.

При создании таблицы неизбежны случаи, когда информации не достаточно и для части данных нельзя определить какое значение они примут. Такие данные обозначаются специальным типом — NULL.

Все поля, указание которых строго обязательно не должны принимать значения NULL. Если какое-то поле, например, description, не заполнено и это не означает, что описания нет в природе, просто на данный момент оно неизвестна, то это кандидат на значение NULL — отсутствие информации, неопределённое значение. Выполнение арифметических операций с NULL всегда даёт NULL, передача NULL в качестве аргумента функции, так же всегда приводит к NULL. Так как любые действия производимые над неопределённым значением даёт опять неопределённое значение.

   
 
 автор: Sergey89   (29.05.2005 в 13:23)   письмо автору
 
   для: cheops   (29.05.2005 в 13:17)
 

А для закрепления материала, не могли бы сказать, у каких из приведённых мной полей должно стоять что должно стоять. Все поля обязательно заполняются и принимают значение!

   
 
 автор: cheops   (29.05.2005 в 13:33)   письмо автору
 
   для: 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;

   
 
 автор: Sergey89   (29.05.2005 в 13:37)   письмо автору
 
   для: cheops   (29.05.2005 в 13:33)
 

Большое спасибо, теперь я понял, что где и как употреблять =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования