百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

Sqlite - 常规函数 - LAST_INSERT_ROWID

ztj100 2025-03-30 23:23 33 浏览 0 评论

在 SQLite 中,last_insert_rowid() 是一个非常实用的内置函数,它主要用于返回最近一次插入操作所生成的自增主键值。下面为你详细介绍该函数的使用方法并给出具体示例。

基本语法

last_insert_rowid() 函数不需要任何参数,其语法格式就是简单的函数名调用:

last_insert_rowid()

适用场景

该函数主要用于处理包含自增主键(通常使用 INTEGER PRIMARY KEY AUTOINCREMENT 定义)的表。当你向这样的表中插入新记录时,SQLite 会自动为新记录分配一个唯一的自增主键值,通过 last_insert_rowid() 函数就可以获取这个刚刚分配的值。

使用方法步骤

1. 创建包含自增主键的表

首先,你需要创建一个带有自增主键的表。以下是一个示例:

-- 创建一个名为 users 的表,包含 id 自增主键和 name 字段
CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT
);

2. 插入新记录

向刚刚创建的表中插入一条或多条新记录。示例如下:

-- 向 users 表中插入一条新记录,只指定 name 字段,id 会自动生成
INSERT INTO users (name) VALUES ('John Doe');

3. 获取最近插入记录的自增主键值

在插入操作完成后,立即调用 last_insert_rowid() 函数来获取刚刚插入记录的自增主键值。示例如下:

-- 获取最近一次插入操作生成的自增主键值
SELECT last_insert_rowid();

完整示例代码

-- 创建表
CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT
);

-- 插入记录
INSERT INTO users (name) VALUES ('John Doe');

-- 获取最近插入记录的自增主键值
SELECT last_insert_rowid();

-- 继续插入新记录
INSERT INTO users (name) VALUES ('Jane Smith');

-- 再次获取最近插入记录的自增主键值
SELECT last_insert_rowid();

代码解释

  • 创建表:通过 CREATE TABLE 语句创建了一个名为 users 的表,其中 id 字段被定义为自增主键,name 字段用于存储用户姓名。
  • 插入记录:使用 INSERT INTO 语句向 users 表中插入新记录,由于 id 是自增主键,所以不需要显式指定 id 的值。
  • 获取自增主键值:在每次插入操作之后,使用 SELECT last_insert_rowid(); 语句获取最近一次插入操作生成的自增主键值。

注意事项

  • 作用域:last_insert_rowid() 函数返回的是当前数据库连接中最近一次插入操作所生成的自增主键值。不同的数据库连接之间的插入操作是相互独立的,一个连接中的插入操作不会影响另一个连接中 last_insert_rowid() 函数的返回值。
  • 时效性:该函数返回的是最近一次插入操作的结果,所以要在插入操作之后立即调用该函数,否则可能会获取到错误的结果。例如,如果在两次插入操作之间执行了其他插入操作,那么第二次调用 last_insert_rowid() 时返回的将是最后一次插入操作生成的自增主键值。

相关推荐

WPS 隐藏黑科技!OCT2HEX 函数用法全攻略,数据转换不再愁

WPS隐藏黑科技!OCT2HEX函数用法全攻略,数据转换不再愁在WPS表格的强大函数库中,OCT2HEX函数堪称数据进制转换的“魔法钥匙”。无论是程序员处理代码数据,还是工程师进行电路设计...

WPS 表格隐藏神器!LEFTB 函数让文本处理更高效

WPS表格隐藏神器!LEFTB函数让文本处理更高效在职场办公和日常数据处理中,WPS表格堪称我们的得力助手,而其中丰富多样的函数更是提升效率的关键。今天,要为大家介绍一个“宝藏函数”——LEF...

Java lombok 使用教程(lombok.jar idea)

简介Lombok是...

PART 48: 万能结果自定义,SWITCH函数!

公式解析SWITCH:根据值列表计算表达式并返回与第一个匹配值对应的结果。如果没有匹配项,则返回可选默认值用法解析1:评级=SWITCH(TRUE,C2>=90,"优秀",C2...

Excel 必备if函数使用方法详解(excel表if函数使用)

excel表格if函数使用方法介绍打开Excel,在想输出数据的单元格点击工具栏上的“公式”--“插入函数”--“IF”,然后点击确定。...

Jetty使用场景(jetty入门)

Jetty作为一款高性能、轻量级的嵌入式Web服务器和Servlet容器,其核心优势在于模块化设计、快速启动、低资源消耗...

【Java教程】基础语法到高级特性(java语言高级特性)

Java作为一门面向对象的编程语言,拥有清晰规范的语法体系。本文将系统性地介绍Java的核心语法特性,帮助开发者全面掌握Java编程基础。...

WPS里这个EVEN 函数,90%的人都没用过!

一、开篇引入在日常工作中,我们常常会与各种数据打交道。比如,在统计员工绩效时,需要对绩效分数进行一系列处理;在计算销售数据时,可能要对销售额进行特定的运算。这些看似简单的数据处理任务,实则隐藏着许多技...

64 AI助力Excel,查函数查用法简单方便

在excel表格当中接入ai之后会是一种什么样的使用体验?今天就跟大家一起来分享一下小程序商店的下一步重大的版本更新。下一个版本将会加入ai功能,接下来会跟大家演示一下基础的用法。ai功能规划的是有三...

python入门到脱坑 函数—函数的调用

Python函数调用详解函数调用是Python编程中最基础也是最重要的操作之一。下面我将详细介绍Python中函数调用的各种方式和注意事项。...

Excel自定义函数:满足特定需求的灵活工具

...

从简到繁,一文说清vlookup函数的常见用法

VLOOKUP函数是Excel中常用的查找与引用函数,用于在表格中按列查找数据。本文将从简单到复杂,逐步讲解VLOOKUP的用法、语法、应用场景及注意事项。一、VLOOKUP基础:快速入门1.什么是...

Java新特性:Lambda表达式(java lambda表达式的3种简写方式)

1、Lambda表达式概述1.1、Lambda表达式的简介Lambda表达式(Lambdaexpression),也可称为闭包(Closure),是Java(SE)8中一个重要的新特性。Lam...

WPS 冷门却超实用!ODD 函数用法大揭秘,轻松解决数据处理难题

WPS冷门却超实用!ODD函数用法大揭秘,轻松解决数据处理难题在WPS表格庞大的函数家族里,有一些函数虽然不像SUM、VLOOKUP那样广为人知,却在特定场景下能发挥出令人惊叹的作用,OD...

Python 函数式编程的 8 大核心技巧,不允许你还不会

函数式编程是一种强调使用纯函数、避免共享状态和可变数据的编程范式。Python虽然不是纯函数式语言,但提供了丰富的函数式编程特性。以下是Python函数式编程的8个核心技巧:...

取消回复欢迎 发表评论: