我想创建一个表,其中有OPENDATE
字段。系统日期前30天的默认值。我的SQL ADDDATE FUNCTION在CREATE TABLE中不工作
CREATE TABLE bugs (
ID INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
TITLE VARCHAR(20) NOT NULL,
SEVERITY INT NOT NULL check(SEVERITY>0 && SEVIRITY<5),
OPENDATE DATETIME NOT NULL DEFAULT ADDDATE(CURRENT_TIMESTAMP,-30),
CLOSEDATE DATETIME DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
这在功能提供了错误。我不能在创建表格时使用函数吗?如果不是,解决方案是什么,如果是,为什么这不起作用?
我还注意到标识符
CURRENT_DATE
未被识别。为什么?
@ sebastianbrosch-该线改变了工作吗?OPENDATE日期NOT NULL DEFAULT CURRENT_DATE – Prakash
@ sebastianbrosch-抱歉,修改为DATATIME的数据类型和标识符CURRENT_TIMESTAMP,并得到这个工作。 – Prakash