Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Не работает триггер? (Серж) 06/06/2015 - 15:18:00
      Re: Не работает триггер? (Akina) 06/06/2015 - 15:56:34

> Original message text:
> From: Серж - 06/06/2015 - 15:18:00
> Subject:Не работает триггер?
> -----------------
> Имеем:
>
> mysql> create table personen
> -> (phone char(12) not null primary key,
> -> name varchar(50) not null,
> -> password char(10) not null,
> -> register date not null)
> -> engine=innodb;
> Query OK, 0 rows affected (0.24 sec)
>
> mysql> delimiter !!
> mysql> create trigger personen_insert
> -> before insert on personen
> -> for each row
> -> begin
> -> set new.register = now();
> -> end!!
> Query OK, 0 rows affected (0.16 sec)
>
> mysql> delimiter ;
>
> mysql> insert into personen(phone, name, password)
> -> values('123', 'Serg', 'asd');
> ERROR 1364 (HY000): Field 'register' doesn't have a default value
>
> Что означает данная ошибка? Ведь недостающее поле 'register' должно подставляться триггером!
>


From: Akina - 06/06/2015 - 15:56:34
Subject:Не работает триггер?
-----------------
Набор с алиасом NEW формируется из записи таблицы (эдакий себе virtual record dirty read), а не как отображаемый на структуру непривязанный массив. Потому и срабатывает ограничение NOT NULL, a DEFAULT VALUE отсутствует.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43346



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |