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() 函数

相关推荐
q***876011 小时前
yum安装redis
数据库·redis·缓存
煎蛋学姐11 小时前
SSM旅游资讯信息服务系统的实现04s3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·旅游·ssm 框架·旅游资讯系统·会员管理
3***312112 小时前
初识MySQL · 库的操作
数据库·mysql
合作小小程序员小小店12 小时前
网页开发,在线%新版本旅游管理%系统,基于eclipse,html,css,jquery,servlet,jsp,mysql数据库
java·数据库·eclipse·html·intellij-idea·旅游·jsp
anod12 小时前
奇怪的mysql时区问题
数据库·mysql·eclipse
鲸说MySQL12 小时前
MySQL表文件损坏
数据库·mysql
a***592612 小时前
【SQL技术】不同数据库引擎 SQL 优化方案剖析
数据库·sql
0***v77712 小时前
使用Dify访问数据库(mysql)
数据库·mysql
愚戏师12 小时前
MySQL 数据导出
数据库·笔记·mysql
倔强的石头_12 小时前
openGauss向量数据库:引领AI时代数据智能新纪元
数据库