Это школьная работа ..
Я пытаюсь создать таблицу с датой по умолчанию в будущем и нашел отличное решение здесь .В этом ответе говорится, что если в операторе INSERT указана дата, он переопределит триггер.Однако, когда я пытаюсь заполнить таблицу некоторыми старыми данными, включая дату, триггер сжимает дату.Я чувствую, что просто упускаю что-то очевидное.
create table member (
member_id int not null primary key auto_increment,
last_name varchar(25) not null,
first_name varchar(25),
address varchar(100),
city varchar(30),
phone varchar(15),
join_date datetime not null);
create trigger setJoinDate
before insert on member
for each row
set NEW.join_date = curdate();
Поэтому, когда я вставляю некоторые данные:
insert into member
set
first_name = 'Midori',
last_name = 'Nagayama',
address = '68 Via Centrale',
city = 'Sao Paolo',
phone = '254-852-5764',
join_date = '1991-6-17';
Дата переопределяется:
mysql> select first_name,join_date from member;
+------------+---------------------+
| first_name | join_date |
+------------+---------------------+
| Midori | 2012-03-18 00:00:00 |
+------------+---------------------+