要将字段默认值设置为当前时间,可以使用NOW()函数,它会返回当前时间戳。
CREATE TABLE mytable ( id INT(11) NOT NULL AUTO_INCREMENT, mydate DATETIME NOT NULL DEFAULT NOW(), PRIMARY KEY (id) );
在上面的代码中,mydate字段默认值为当前时间。也可以将默认值设置为当前日期,可以使用CURDATE()函数。
CREATE TABLE mytable ( id INT(11) NOT NULL AUTO_INCREMENT, mydate DATE NOT NULL DEFAULT CURDATE(), PRIMARY KEY (id) );
这样在插入数据时,如果不指定mydate的值,系统会自动为其赋值为当前时间或当前日期。
如果要在数据插入时,强制使用数据库服务器的当前时间而不是客户端的当前时间,可以使用CURRENT_TIMESTAMP()函数,它会返回数据库服务器的当前时间。
CREATE TABLE mytable ( id INT(11) NOT NULL AUTO_INCREMENT, mydate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(), PRIMARY KEY (id) );
这样,无论客户端的时间是否正确,插入的记录都使用数据库服务器的时间。