2012-04-12 99 views
2

我使用IDE內部的「創建表」窗口從Netbeans 7.1創建了一個Derby數據庫表。其中一列需要是一個位類型(我想持有布爾數據 - 1/0)。當我添加該列時,我使用'char for bit data'作爲它的類型。當我使用IDE的「插入記錄」窗口添加行時,行被添加,但是當我嘗試使用SQL命令添加行時(我最終如何將數據從我的Java代碼添加到表中)時,它始終會拋出一個錯誤。如果我嘗試INSERT INTO APP.TEMP (ID, BOOL) VALUES (3, 0)的迴應是Columns of type 'CHAR() FOR BIT DATA' cannot hold values of type 'INTEGER'.,如果我嘗試INSERT INTO APP.TEMP (ID, BOOL) VALUES (3, '0')迴應是Columns of type 'CHAR() FOR BIT DATA' cannot hold values of type 'CHAR'. 我認爲立交橋是通過創建SQL代碼表(CREATE TABLE...),並將該列簡單地設置爲'位',但是當我這樣做時,我得到的迴應是Syntax error: Encountered "bit" at line 7, column 8.derby數據庫中的位數據類型(在NetBeans中創建)

所以我怎麼能有一個布爾字段在德比DB?或者我應該放棄並簡單地使用整數?

歡呼聲, 埃雷茲

回答

3

德比具有實際布爾數據類型,如果這就是你要找的內容:http://db.apache.org/derby/docs/10.8/ref/rrefsqljBoolean.html

+0

感謝,但是怎麼就當我嘗試這一點 - CREATE TABLE遊戲 ( ID INT NOT NULL PRIMARY KEY, white_player_id詮釋NOT NULL, black_player_id詮釋NOT NULL, winner_id INT, 活躍布爾NOT NULL, 起始日期戳NOT NULL, END_DATE時間戳 )我得到一個錯誤 - '語法錯誤:BOOLEAN' – eRez 2012-04-12 15:33:10

+0

可能是因爲我在使用Derby 10.2嗎?我只讀了10.7版本支持的布爾值。如果是這樣 - 我是否升級它? – eRez 2012-04-12 15:51:46

+0

是的,德比10.2是非常古老的。升級很容易;這裏是如何:http://db.apache.org/derby/docs/10.8/devguide/cdevupgrades.html – 2012-04-13 14:12:03