环境
MySQL 5.1 + 命令行工具
问题
MySQL表字段设置默认值
解决
--SQL:
CREATETABLE test(
i_a intNOTNULLDEFAULT 1,
ts_b timestampNOTNULLDEFAULT NOW(),
c_c char(2) NOTNULLDEFAULT'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字段中。不支持使用系统默认值。
--转自