[英]Problems with SQLite database, error when creating
启动我的应用程序时出现此错误:
12-20 22:27:01.447:错误/数据库(716):在准备'CREATE TABLE权限(fk_email1 varchar(100)NOT NULL,fk_email2 varchar(100))时在0x1a4338上失败1(“:00”:语法错误) NOT NULL,已验证的tinyint(4)默认值0,hour1时间默认值08:00:00,hour2时间默认值20:00:00,date1日期默认值NULL,date2日期默认值NULL,周末tinyint(4)默认值0,fk_type varchar( 45)默认为NULL,PRIMARY KEY(fk_email1,fk_email2))。
这是我创建数据库的代码:
private static final String PERMISSION_TABLE_CREATE =
"CREATE TABLE permission ("
"fk_email1 varchar(100) NOT NULL, fk_email2 varchar(100) NOT NULL, "
"validated tinyint(4) default 0, hour1 time default 08:00:00, "
"hour2 time default 20:00:00, date1 date default NULL, "
"date2 date default NULL, weekend tinyint(4) default 0, "
"fk_type varchar(45) default NULL, PRIMARY KEY (fk_email1,fk_email2))";
private static final String USER_TABLE_CREATE = "CREATE TABLE user ( "
"email varchar(100) NOT NULL, password varchar(45) default NULL, "
"fullName varchar(80) default NULL, "
"mobilePhone varchar(14) default NULL, "
"mobileOperatingSystem varchar(20) default NULL, PRIMARY KEY (email))";
我在做什么不好?
查看SQLLite文档。 我认为它与“ TIME”数据类型没有类型相似性。 如果是这样,则默认值可能必须用引号引起来。
SQLite对于数据类型非常有趣(本质上,所有数据都是无类型的),并且可以通过摆脱VARCHAR长度(甚至是VARCHAR而支持TEXT)来大大缩短DDL。
http://www.sqlite.org/faq.html#q2
(2)SQLite支持哪些数据类型?
SQLite使用动态类型。 内容可以存储为INTEGER,REAL,TEXT,BLOB或NULL。
例如,使用INTEGER,它可以存储Java的long。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.