這是功課...
我試圖創建一個在未來有一個默認的日期值的表,發現一個很好的解決方案here。這個答案說如果在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 |
+------------+---------------------+
也許我應該弄清楚如何獲得有條件進入它... – Ken 2012-03-19 02:35:59