环境 MySQL 5.1 命令行工具 问题 MySQL表字段设置默认 解决 --SQL:CREATE TABLE test( i_a int NOT NULL DEFAULT 1, ts_b timestamp NOT NULL DEFAULT NOW(), c_c char(2) NOT NULL DEFAULT '1');--以下SQL不合法--time_d time NOT NULL DEFAULT CURTIME(),
环境
MySQL 5.1 + 命令行工具
问题
MySQL表字段设置默认值
解决
--SQL: CREATE TABLE test( i_a int NOT NULL DEFAULT 1, ts_b timestamp NOT NULL DEFAULT NOW(), c_c char(2) NOT NULL DEFAULT '1' ); --以下SQL不合法 --time_d time NOT NULL DEFAULT CURTIME(), --date_e date NOT NULL DEFAULT CURDATE(), --datetime_f datetime NOT NULL DEFAULT NOW(),
总结
int 类型 :默认值也得是整型,并且 default 后边不要 () 括号。
char 类型 :默认值使用单引号。
DATETIME 类型 : NOW() 函数以 'YYYY-MM-DD HH:MM:SS' 返回当前的日期时间,可以直接存到 DATETIME 字段中。不支持使用系统默认值。
DATE 类型 : CURDATE() 以 'YYYY-MM-DD' 的格式返回今天的日期,可以直接存到 DATE 字段中。不支持使用系统默认值。
TIME 类型 : CURTIME() 以 'HH:MM:SS' 的格式返回当前的时间,可以直接存到 TIME 字段中。不支持使用系统默认值。
参考资料
mysql表字段默认值
http://zhidao.baidu测试数据/question/161654544.html
MySQL 获取系统当前时间的函数
http://blog.csdn.net/wentasy/article/details/7846679
@Wentasy