当前位置: 首页 > news >正文

SQLite 插入一行并返回主键

要插入一行数据并返回主键,我们可以使用 INSERT 语句和 last_insert_rowid() 函数。下面是一个示例:

INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3);
SELECT last_insert_rowid();

SQL

Copy

在示例中,我们使用 INSERT 语句将一行数据插入到指定的表中,并使用 VALUES 子句指定要插入的值。last_insert_rowid() 函数用于返回最后插入的行的主键值。

下面是一个完整的示例,假设我们有一个名为 users 的表,其中包含 id (主键)、name 和 age 三列:

CREATE TABLE users (id INTEGER PRIMARY KEY,name TEXT NOT NULL,age INTEGER
);INSERT INTO users (name, age) VALUES ('张三', 25);
SELECT last_insert_rowid();

SQL

Copy

在上面的示例中,我们首先创建了一个名为 users 的表,并指定了 id 列为主键。然后,我们使用 INSERT 语句插入一行数据,并指定了 name 和 age 列的值。最后,我们使用 SELECT 语句和 last_insert_rowid() 函数返回插入的行的主键值。

插入多行数据并返回主键

如果我们要插入多行数据并返回对应的主键,我们可以使用 INSERT 语句和 last_insert_rowid() 函数的组合。下面是一个示例:

INSERT INTO 表名 (列1, 列2, 列3)
VALUES (值1, 值2, 值3),(值4, 值5, 值6),(值7, 值8, 值9);SELECTlast_insert_rowid() - (SELECT COUNT(*) - 1 FROM 表名),last_insert_rowid()
FROM 表名
LIMIT (SELECT COUNT(*) FROM 表名) - 1, 1;

SQL

Copy

在示例中,我们使用了一个多行 VALUES 子句来同时插入多行数据。然后,我们使用子查询根据已插入的行数计算出每行对应的主键值。

总结

在本文中,我们介绍了如何在 SQLite 数据库中插入一行数据并返回对应的主键。通过使用 INSERT 语句和 last_insert_rowid() 函数

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【人工智能】Transformers之Pipeline(十二):零样本物体检测(zero-shot-object-detection)
  • C# 获取当前电脑的mac地址
  • C#使用onnxruntime加载模型,部署到别人的PC上报错
  • UE5.4内容示例(5)UI_CommonUI - 学习笔记
  • Neo4j 图数据库入门
  • Kafka基本概念
  • 知乎信息流广告推广开户需要什么资质?
  • uniapp/vue如何实现一个子表单及子表单作用
  • 多核时代下线程间的内存可见性
  • [Meachines] [Easy] granny IIS 6.0+CVE-2017-7269+进程迁移+MS15-051权限提升
  • mov转mp4,这几款软件轻松转换格式!
  • OD C卷 - 幼儿园篮球游戏
  • 实现Kruskal算法连通游戏地图地牢
  • RTA-VRTE适配Orin
  • pdf查看密码
  • 0基础学习移动端适配
  • CentOS从零开始部署Nodejs项目
  • Java 内存分配及垃圾回收机制初探
  • npx命令介绍
  • October CMS - 快速入门 9 Images And Galleries
  • PHP面试之三:MySQL数据库
  • 创建一个Struts2项目maven 方式
  • 官方解决所有 npm 全局安装权限问题
  • ------- 计算机网络基础
  • 记录一下第一次使用npm
  • 技术发展面试
  • 每天一个设计模式之命令模式
  • 区块链共识机制优缺点对比都是什么
  • 推荐一个React的管理后台框架
  • 用简单代码看卷积组块发展
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # Redis 入门到精通(七)-- redis 删除策略
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • ######## golang各章节终篇索引 ########
  • #define、const、typedef的差别
  • #NOIP 2014# day.2 T2 寻找道路
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (1)(1.9) MSP (version 4.2)
  • (1)STL算法之遍历容器
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (多级缓存)多级缓存
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)编辑寄语:因为爱心,所以美丽
  • ***原理与防范
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .Net mvc总结
  • .net网站发布-允许更新此预编译站点
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?