不重复:
我收到错误Caused by: org.h2.jdbc.JdbcSQLException: Function "TO_DATE" not found; SQL statement:
我可以用它替换它以便运行它。我使用RazorSql从oracle db创建mysql。现在我试图在H2数据库中运行它。
导致错误的mysql:
CREATE TABLE ASSET (
ASSET_ID DECIMAL(22) NOT NULL,
SHOP_ID DECIMAL(22) NOT NULL,
NAME VARCHAR(200) NOT NULL,
TYPE_ID DECIMAL(22) NOT NULL,
CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
MODIFIED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
VALID_FROM datetime DEFAULT to_date('2013-12-01', 'YYYY-MM-DD') NOT NULL,
VALID_TILL datetime DEFAULT to_date('2113-12-01', 'YYYY-MM-DD') NOT NULL,
PRIMARY KEY (ASSET_ID)
);
答案 0 :(得分:0)
在MySQL中,您可以这样做:
VALID_FROM datetime DEFAULT '2013-12-01' NOT NULL,
VALID_TILL datetime DEFAULT '2113-12-01' NOT NULL,
我认为没有一种语法适用于MySQL和Oracle。虽然MySQL确实支持DATE
关键字(如DATE '2013-12-01'
中所述),但这似乎无法作为DEFAULT
值生效。