默认值应该只能静态值,不能用函数的吧
如果你用mysql 5.0,你可用触发器试试
CREATE TRIGGER defaulttime
BEFORE INSERT ON yourtab
FOR EACH ROW
begin
set new.timefield=now();
end ;
(我只用过4.2,不支持,你可试试)
如果你用mysql 5.0,你可用触发器试试
CREATE TRIGGER defaulttime
BEFORE INSERT ON yourtab
FOR EACH ROW
begin
set new.timefield=now();
end ;
(我只用过4.2,不支持,你可试试)
我这样测试:
1.建表
create table t(t datetime,a varchar(10));
2.改分隔符(建tigger必须)
DELIMITER //
3.建tigger
CREATE TRIGGER t_bi
BEFORE INSERT ON t
FOR EACH ROW
BEGIN
SET new.t=now();
END;//
4.测试:
insert into t (a) values('aa');//
5.检查:
select * from t;//
结果为:
+---------------------+------+
| t | a |
+---------------------+------+
| 2005-11-10 19:47:54 | aa |
+---------------------+------+
1 row in set (0.00 sec)
我正好是用的MYSQL5.0 谢了!!
create table t(
createddate TIMESTAMP DEFAULT NOW()
)