· 8 years ago · Jan 19, 2018, 05:28 AM
1ALTER TABLE `downloads` ADD `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ;
2
3ALTER TABLE `downloads` ADD `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
4
5ALTER TABLE `downloads` ADD `date` DATETIME NULL; -- date must allow
6 -- NULLs or default
7 -- to a special value
8DROP TRIGGER IF EXISTS downloads_BI;
9DELIMITER //
10CREATE TRIGGER downloads_BI
11BEFORE INSERT ON downloads FOR EACH ROW
12BEGIN
13 IF (NEW.date IS NULL) THEN -- change the isnull check for the default used
14 SET NEW.date = now();
15 END IF;
16END//
17DELIMITER ;
18
19mysql> INSERT INTO downloads (i) VALUES (1); -- I do not set date
20Query OK, 1 row affected (0.00 sec)
21
22mysql> SELECT * FROM downloads;
23+------+---------------------+
24| i | date |
25+------+---------------------+
26| 1 | 2016-03-22 09:27:52 |
27+------+---------------------+
281 row in set (0.00 sec)