2013-02-07 77 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語句。

它應該顯示正確的結果。