在开发 Android应用程序使用数据库的时候,发现SQLite 创建表的时候使用AUTO_INCREMENT报错。找了一些资料发现SQLite使用sql语句还是跟Mysql的稍微有点区别的,下面是个在Mysql中使用语句常见表:
CREATE TABLE `adinfo` (
`id` tinyint(4) NOT NULL AUTO_INCREMENT,
`usetime` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在使用SQLite创建的时候竟然有很多处错误。
1. AUTO_INCREMENT
修改方法: 将`id` tinyint(4) NOT NULL AUTO_INCREMENT,
改为`id` INTEGER PRIMARY KEY AUTOINCREMENT,
同时需要去掉PRIMARY KEY (`id`)
2.ENGINE,DEFAULT CHARSET
修改方式:去掉ENGINE=InnoDB DEFAULT CHARSET=utf8
,原因Mysql的数据引擎有很多,而SQLite不分这个, 还有默认字符串编码SQLite里面我暂时没有发现,不知道他有没有设置编码的地方。
(1312)