请教:如何设置字段默认值为某个函数?

请教:如何设置字段默认值为某个函数?

比如设置为curdate(),curtime().
偶尝试着按如下命令修改原数据表中设为null的字段,无法实现,提示出错!

alter table tablename modify columnname date default curdate();

请赐教!      
有答案了!(在csdn问到的.还要感谢csdn的版主犬犬)

MySQL目前不支持 Default 为函数,
如达到你要的功能,
可以使用TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列,只有第一个自动更新。

自动更新第一个TIMESTAMP列在下列任何条件下发生:
除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。

如果表中有两个以上的TIMESTAMP列,在进行更新时,只有第一个TIMESTAMP列的列值会更新为最新的时间,而其它的TIMESTAMP列列值是不会发生发改变的,如果我们想将其它的TIMESTAMP列的列值也设为最新的时间怎么办呢

只要在更新时将列的值设为NULL 或 NOW();

CREATE TABLE test ('id' INT (3) UNSIGNED AUTO_INCREMENT, 'date1' TIMESTAMP (14), 'date2' TIMESTAMP (14), PRIMARY KEY('id'));

INSERT INTO test (id, date1, date2) VALUES (1, NULL, NULL)
+----+----------------+----------------+
| id | date1 | date2 |
+----+----------------+----------------+
| 2 | 20021114093723 | 20021114093723 |
+----+----------------+----------------+

UPDATE test SET id= 2 WHERE id=1;
+----+----------------+----------------+
| id | date1 | date2 |
+----+----------------+----------------+
| 2 | 20021114094009 | 20021114093723 |
+----+----------------+----------------+

UPDATE test SET id= 2,date1=date1,date2=NOW() WHERE id=2;
+----+----------------+----------------+
| id | date1 | date2 |
+----+----------------+----------------+
| 2 | 20021114094009 | 20021114094320 |
+----+----------------+----------------+