将布尔值插入sqlite表

时间:2015-10-12 08:12:34

标签: sqlite sql-insert

我创建了一个表MYTABLE

CREATE TABLE "MYTABLE" (
       "surname" VARCHAR,
       "name" VARCHAR,
       "id" INTEGER PRIMARY KEY  NOT NULL ,
       "flag" BOOL);

当我用以下内容插入记录时

INSERT INTO "MYTABLE" VALUES ("Super","Mario","94", true);

我收到一条错误消息no such column: true。如果我用这个:

INSERT INTO "MYTABLE" VALUES ("Super","Mario","94", "true");

我没有收到任何错误,但是当我用rs.getBoolean("flag")读取该记录时,我得到了错误。

最后,我尝试了这个

INSERT INTO "MYTABLE" VALUES ("Super","Mario","94", 1); 

rs.getBoolean("flag")返回true。所以这里的教训是Sqlite中的布尔值插入0/1?

2 个答案:

答案 0 :(得分:2)

SQLite没有单独的布尔存储类。布尔值存储为整数0和1。

答案 1 :(得分:0)

是的,BOOL类型与许多数据库中的BIT同义,包括SQLite和SQL Server。其他数据库,如Oracle,甚至没有布尔类型,NUMBER(1)字段用于按惯例存储布尔值。