CREATE TABLE proejct( id UNSIGNED INTEGER AUTO_INCREMENT, name VARCHAR(50) NOT NULL, type CHAR(10) NOT NULL, PRIMARY KEY(id) )
以上是表的定义,不知道为什么,插入新记录后,id字段为null。
查资料,有文章说不用加AUTO_INCREMENT,只要将主键设为INTEGER PRIMARY KEY就可以实现自增。
OK,我修改如下:
CREATE TABLE proejct( id UNSIGNED INTEGER PRIMARY KEY, name VARCHAR(50) NOT NULL, type CHAR(10) NOT NULL )
问题还是没有解决,新记录的id仍然为null。
难道是UNSIGNED?于是我去掉UNSIGNED:
CREATE TABLE proejct( id INTEGER PRIMARY KEY, name VARCHAR(50) NOT NULL, type CHAR(10) NOT NULL )
成功,id为自增的数字。
原来,SQLite中是没有UNSIGNED修饰符的,你放入的是有符号数,就自动为有符号数,放入的是无符号数同理。
标签:自增,NULL,PRIMARY,UNSIGNED,null,id From: https://www.cnblogs.com/hdxg/p/17135365.html