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

sqlit 自增id为null的更多相关文章

  1. MySQL自增ID 起始值 修改方法

    在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法. 通常的设置自增字段的方法: 创建表格时 ...

  2. MYSQL获取自增ID的四种方法

    MYSQL获取自增ID的四种方法 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与tabl ...

  3. mysql插入数据后返回自增ID的方法

    mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? 方法一是使用la ...

  4. attempted to assign id from null one-to-one

    one-to-one在hibernate中可以用来作为两张表之间的主键关联,这也是hibernate中主键关联的一种用法,这样在一张表中的ID,在生成另外一张表的同时回自动插入到相应的ID字段中去,相 ...

  5. 事务回滚后,自增ID仍然增加

    回滚后,自增ID仍然增加. 比如当前ID是7,插入一条数据后,又回滚了.然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9.因为虽然你之前插入回滚,但是ID还是自增了. 如果你认为自增I ...

  6. mysql 数据库自增id 的总结

    有一个表StuInfo,里面只有两列 StuID,StuName其中StuID是int型,主键,自增列.现在我要插入数据,让他自动的向上增长,insert into StuInfo(StuID,Stu ...

  7. 生成整数自增ID(集群主键生成服务)

        在集群的环境中,有这种场景     需要整数自增ID,这个整数要求一直自增,并且需要保证唯一性. Web服务器集群调用这个整数生成服务,然后根据各种规则,插入指定的数据库.        一般 ...

  8. MyBatis 返回新增数据的自增id

    <insert id="save" parameterType="Vote" useGeneratedKeys="true" keyP ...

  9. mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey

    mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得 ...

  10. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)

    测试缘由 一个开发同事做了一个框架,里面主键是uuid,我跟他建议说mysql不要用uuid用自增主键,自增主键效率高,他说不一定高,我说innodb的索引特性导致了自增id做主键是效率最好的,为了拿 ...

随机推荐

  1. 解决.net Core中WebApi自动Model验证导致数据格式不能统一

    简言: 最近做项目用WebAPI Core时,想把返回数据的格式,统一弄成:{"errorMsg":"xxx","Data":"x ...

  2. 解决SpringMVC重定向参数无法携带问题

    解决SpringMVC重定向参数无法携带问题 场景 重定向时请求参数会丢失,我们往往需要重新携带请求参数,我们可以进⾏⼿动参数拼接如下: return "redirect:handle01? ...

  3. python基础之hashilb模块、logging模块

    hashlib加密模块 1.何为加密 将文明数据处理成密文数据 让人无法看懂 2.为什么要加密 保证数据的安全,防止密码泄露 3.如何判断数据是否加密 密文数据的表现形式一般都是一串没有规则的字符串( ...

  4. CLISP学习(二)

    它是一门函数式语言,你要用函数的思维来思考. 只不过与数学的表达不同的是,数学里的函数是在括号外  f(x) ,而lisp是在括号内,以列表的形式(f x), cos(x) --> (cos x ...

  5. 软件安装——idea的安装和使用

    Idea的安装和使用 一.下载和安装 下载步骤 官网下载地址:Download IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBr ...

  6. Linux c 获取U盘挂载路径

    思路: 1.执行df -h 找到 带mnt的行.将结果存入一个文件中. system("df -h |grep mnt >./extendevinfo.txt"); 也可以直 ...

  7. Pytorch:单卡多进程并行训练

    1 导引 我们在博客<Python:多进程并行编程与进程池>中介绍了如何使用Python的multiprocessing模块进行并行编程.不过在深度学习的项目中,我们进行单机多进程编程时一 ...

  8. 逐步讲解如何在 Proteus 中新建工程

    前言 Proteus 新建工程虽然不难,但对于电子小白来说可能便成了学习路上的绊脚石,本篇我将逐步讲解如何在 Proteus 中新建工程. 最新版 Proteus 8.15 最新版 Proteus 8 ...

  9. Linux音频采集和在国产化平台中遇到的坑(二)

    Linux音频采集和在国产化平台中遇到的坑(二) ALSA采集这条路走不通,只能尝试其他途径,这里通过PulseAudio的接口成功实现了采集麦克风和系统声音的功能. linux PulseAudio ...

  10. typora配置图床

    PicGo无法上传图片,报下图错误 Error: Error in repo name 这里我使用图床是gitee 上传之前需要安装插件 解决方法: 最后一步:配置typora, 点击验证图片选项,查 ...