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 (主键)、nameage 三列:

复制代码
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 语句插入一行数据,并指定了 nameage 列的值。最后,我们使用 SELECT 语句和 last_insert_rowid() 函数返回插入的行的主键值。

插入多行数据并返回主键

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

复制代码
INSERT INTO 表名 (列1, 列2, 列3)
VALUES (值1, 值2, 值3),
       (值4, 值5, 值6),
       (值7, 值8, 值9);

SELECT
   last_insert_rowid() - (SELECT COUNT(*) - 1 FROM 表名),
   last_insert_rowid()
FROM 表名
LIMIT (SELECT COUNT(*) FROM 表名) - 1, 1;

SQL

Copy

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

总结

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

相关推荐
Code blocks10 分钟前
SpringBoot从0-1集成KingBase数据库
数据库
程序员敲代码吗31 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
未来的旋律~1 小时前
sqlilabs注入靶场搭建与sql语句
数据库·sql
一个天蝎座 白勺 程序猿1 小时前
KingbaseES查询逻辑优化深度解析:从子查询到语义优化的全链路实践
开发语言·数据库·kingbasees·金仓数据库
我真的是大笨蛋1 小时前
InnoDB行级锁解析
java·数据库·sql·mysql·性能优化·数据库开发
山茶花.2 小时前
SQL注入总结
数据库·sql·oracle
m0_736919103 小时前
超越Python:下一步该学什么编程语言?
jvm·数据库·python
m0_748229993 小时前
ThinkPHP快速入门:从零到实战
c语言·开发语言·数据库·学习
阿蒙Amon3 小时前
C#每日面试题-Thread.Sleep和Task.Delay的区别
java·数据库·c#
沉舟侧畔千帆过_4 小时前
一个DBA的真心话:搞定Oracle+PG双库,我就靠这招
数据库·oracle·dba