0

我正在尝试使用 CREATE 命令创建一个新数据库。这是SQL:

CREATE TABLE test( rok_utworzenia timestamp DEFAULT CURRENT_DATE );

但它会抛出一个错误说

'#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“CURRENT_DATE)”附近使用正确的语法

如果我将 DEFAULT 约束更改为常量,它会起作用,但如果我尝试使用任何函数或变量,则不会。为什么呢?

4

2 回答 2

1

用这个:

CREATE TABLE test( rok_utworzenia timestamp DEFAULT CURRENT_TIMESTAMP );

来自MySQL 网站

数据类型规范中的 DEFAULT value 子句指示列的默认值。除了一个例外,默认值必须是一个常量;它不能是函数或表达式。例如,这意味着您不能将日期列的默认值设置为 NOW() 或 CURRENT_DATE 等函数的值。例外情况是您可以将 CURRENT_TIMESTAMP 指定为 TIMESTAMP 列的默认值。

于 2013-10-25T08:54:07.493 回答
1

试试这个 CURRENT_TIMESTAMP

CREATE TABLE test( rok_utworzenia timestamp DEFAULT CURRENT_TIMESTAMP );
于 2013-10-25T08:54:47.497 回答