1

我正在尝试使用一些默认数据初始化我的 hsqldb,但似乎在标识和时间戳列方面存在问题。

我刚刚意识到,当我说“脚本”时,我可能并不清楚我的意思。我的意思是您传递给 hsqldb 以在启动时生成数据库的命令行参数。我可以在 DbVisualiser 或其他一些数据库管理工具中成功运行查询。

我有一个具有以下定义的表:

create table TableBob (
      ID int NOT NULL identity , 
      FieldA varchar(10) NULL, 
      FieldB varchar(50) NOT NULL, 
      INITIAL_DT timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL);

我可以使用脚本成功创建此表,但尝试插入记录不起作用。下面是我认为插入的有效 sql,因为 ID 和 INITIAL_DT 字段是 Identity 和 Default 列)。奇怪的是,它会在每一列中插入 null,即使它们被定义为 NOT NULL....

例如
INSERT INTO TableBob (FieldA, FieldB) VALUES ('testFieldA', 'testFieldB');

在此处输入图像描述

谢谢你的帮助

4

1 回答 1

0

请尝试使用 HSQLDB 的 DatabaseManagerSwing(您可以双击 hsqldb.jar 来启动数据库管理器)。首先执行 CREATE TABLE 语句,然后执行 INSERT 语句,最后执行 SELECT 语句。

它应该显示正确的结果。

如果要使用脚本插入数据,请使用 HSQLDB 分发 zip 包中提供的 SqlTool.jar。请参阅指南: http: //hsqldb.org/doc/2.0/util-guide/

于 2013-02-07T23:01:21.800 回答