derby数据库中的位数据类型(在NetBeans中创建)

问题描述:

我使用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?或者我应该放弃并简单地使用整数?

欢呼声, 埃雷兹

德比具有实际布尔数据类型,如果这就是你要找的内容: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