我正在尝试使用CREATE命令创建一个新数据库。这是SQL:
CREATE TABLE test( rok_utworzenia timestamp DEFAULT CURRENT_DATE );
但它引发了一个错误说
'#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在第2行'CURRENT_DATE'附近使用正确的语法
如果我将DEFAULT约束更改为常量,它会起作用,但如果我尝试使用任何函数或变量则不行。为什么会这样?
答案 0 :(得分:1)
使用此:
CREATE TABLE test( rok_utworzenia timestamp DEFAULT CURRENT_TIMESTAMP );
来自MySQL site:
数据类型规范中的DEFAULT值子句表示a 列的默认值。除了一个例外,默认值必须 是一个常数;它不能是一个功能或表达。这意味着, 例如,您不能将日期列的默认值设置为 NOW()或CURRENT_DATE等函数的值。例外 是你可以指定CURRENT_TIMESTAMP作为a的默认值 TIMESTAMP专栏。
答案 1 :(得分:1)
试试这个CURRENT_TIMESTAMP
:
CREATE TABLE test( rok_utworzenia timestamp DEFAULT CURRENT_TIMESTAMP );