我只是想将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发现了一个意外的令牌“DEFAULT” “ate_memebership DATE”。预期的代币可能包括:“检查”。 SQLSTATE = 42601
答案 0 :(得分: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)
答案 1 :(得分:0)
希望这会对您有所帮助,但不是DATE数据类型,而是更改为TIMESTAMP。
registration_date_membership TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP , expire_date_membership TIMESTAMP WITH DEFAULT TIMESTAMPADD(256,40,TIMESTAMP((CURRENT TIMESTAMP )),