SQLite执行CREATE TABLE语句无法创建数据表问题求助
问题原因
- 你使用了MySQL专属的
AUTO_INCREMENT关键字,SQLite并不支持该语法,SQLite中自增主键的专属关键字是AUTOINCREMENT(无下划线) - 其次SQLite不支持
INT(255)这类带长度限定的整型声明,SQLite的整型存储为动态适配逻辑,长度声明不会生效,且自增主键要求字段类型必须声明为INTEGER而非普通INT
解决方案
替换原建表语句为SQLite支持的语法即可,正确示例如下:
CREATE TABLE customers ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name VARCHAR(255), email VARCHAR(255), password VARCHAR(255) );
补充说明:如果业务没有要求ID严格连续不重复(删除数据后旧ID不会被复用),可以省略
AUTOINCREMENT关键字,仅声明id INTEGER PRIMARY KEY即可实现自增效果,同时减少额外的性能开销。
内容的提问来源于stack exchange,提问作者Gyan Masih
相关产品推荐
相关产品推荐

