sqlit 自增id为null

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修饰符的,你放入的是有符号数,就自动为有符号数,放入的是无符号数同理。

 

posted @ 2023-02-19 19:02  hdxg  阅读(141)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css