2013-02-07 79 views
1

我试图用一些默认数据初始化我的hsqldb,但似乎遇到了身份和时间戳列的问题。将SQL插入到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列)。奇怪的是,即使它们被定义为NOT NULL,它也会在每一列中插入空值....

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

enter image description here

感谢您的帮助

+0

对不起,我把选择,而不是价值。问题仍然有效,只是一个错字 – user630190

+0

嗨a_horse_with_no_name - 我已经更新了我的问题,因为也许它不是很清楚。只有在命令行中为hsqldb使用这个sql时,它才会失败。 – user630190

回答

0

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

它应该显示正确的结果。