CREATE TABLE IF NOT EXISTS fw_users (id INT(64) NOT NULL PRIMARY KEY AUTOINCREMENT, auth CHAR(64) UNIQUE, money INT(32) DEFAULT '0', unlocks VARCHAR(8000))
我看不到任何错误,但SQLite会抛出错误:
Query failed! AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY
没有意义,id是一个整数
答案 0 :(得分:6)
INT(64)
不够近; 必须为INTEGER
。
答案 1 :(得分:3)
SQLite表示法是INTEGER PRIMARY KEY
。 Docs reference:
如果将一个表的列声明为INTEGER PRIMARY KEY,那么无论何时向表的该列插入NULL,NULL都会自动转换为一个整数,该整数大于该值的最大值。表中所有其他行的列,如果表为空,则为1。或者,如果正在使用最大的现有整数键9223372036854775807,则随机选择未使用的键值。
[...]CREATE TABLE t1( a INTEGER PRIMARY KEY, b INTEGER );