1

我只是想将 expire_date_membership 设置为当前日期后 2 年的日期,但不要缝合以使语法正确。有人可以帮忙吗?

CREATE TABLE Members (
   pid INTEGER NOT NULL, 
   registration_date_membership DATE DEFAULT CURRENT_DATE, 
   expire_date_membership DATE DEFAULT (CURRENT_DATE + 24 MONTHS), 
   membership_fees DOUBLE, 
   overdue_fees DOUBLE, 
   PRIMARY KEY(pid),
   FOREIGN KEY (pid) REFERENCES Person)

错误信息:

DB21034E 该命令被作为 SQL 语句处理,因为它不是有效的命令行处理器命令。在 SQL 处理期间,它返回: SQL0104N 在“ate_memebership DATE”之后发现了意外的标记“DEFAULT”。预期的标记可能包括:“CHECK”。SQLSTATE=42601

4

2 回答 2

2

您缺少 WITH 关键字。

您的查询应该是:

CREATE TABLE Members (
   pid INTEGER NOT NULL, 
   registration_date_membership DATE WITH DEFAULT CURRENT_DATE, 
   expire_date_membership DATE WITH DEFAULT (CURRENT_DATE + 24 MONTHS), 
   membership_fees DOUBLE, 
   overdue_fees DOUBLE, 
   PRIMARY KEY(pid),
   FOREIGN KEY (pid) REFERENCES Person)

更多:默认值

于 2013-02-19T05:16:19.737 回答
0

希望这会对您有所帮助,但它已更改为 TIMESTAMP,而不是 DATE 数据类型。

registration_date_membership TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP , expire_date_membership TIMESTAMP WITH DEFAULT TIMESTAMPADD(256,40,TIMESTAMP((CURRENT TIMESTAMP )),

于 2014-01-06T12:41:04.740 回答