SQL 默认值和时间

问题描述 投票:0回答:1

创建表订单( 订单号 int NOT NULL, 订单日期日期 DEFAULT CURRENT_DATE() );

它无法在 MYSQL WORKBENCH 中运行 这是给定的错误,

操作失败:将 SQL 脚本应用到数据库时出错。 执行: 创建表

xyz
order
(
id
INT 不为空,
o_no
INT 空,
o_date
日期为空默认 CURRENT_DATE(), 主键 (
id
));

ERROR 1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'CURRENT_DATE() 附近使用的正确语法, 主键 (

id
))' 在第 4 行 SQL语句: 创建表
xyz
order
(
id
INT 不为空,
o_no
INT 空,
o_date
日期为空默认 CURRENT_DATE(), 主键 (
id
))

我想要一个带有默认日期的列

mysql mysql-workbench
1个回答
0
投票

您需要将字段的数据类型设置为时间戳或日期时间,并使用“current_timestamp”作为默认值,这样就可以了:

CREATE TABLE Orders ( OrderNumber int NOT NULL, OrderDate datetime DEFAULT CURRENT_TIMESTAMP);

您可以使用其他别名来代替 CURRENT_TIMESTAMP,例如 now() - 请参阅 https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html 了解完整详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.