LAST_INSERT_ID() MySQL

2024-04-14

我有一个 MySQL 问题,我认为这一定很简单。当我运行以下 MySql 查询时,我需要从 table1 返回最后插入的 ID:

INSERT INTO table1 (title,userid) VALUES ('test',1); 
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(),4,1);
SELECT LAST_INSERT_ID();

正如您所理解的,当前代码只会返回 table2 而不是 table1 的最后插入 ID,即使我插入到 table2 之间,如何才能从 table1 获取 id?


您可以将最后一个插入 id 存储在变量中:

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
SET @last_id_in_table1 = LAST_INSERT_ID();
INSERT INTO table2 (parentid,otherid,userid) VALUES (@last_id_in_table1, 4, 1);    

或者从 table1 获取最大 id(编辑:警告。请参阅 Rob Starling 的评论中关于使用最大 id 时竞争条件可能出现的错误的注释)

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(), 4, 1); 
SELECT MAX(id) FROM table1;  

(警告:正如 Rob Starling 在评论中指出的那样)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LAST_INSERT_ID() MySQL 的相关文章

随机推荐

  • Twig 中的 {{ exception.message }} 不渲染 HTML

    我有这个控制器在哪里 Exception被提出了 我还没弄清楚哪个SF2Exception尚未使用 在一定条件下 就这个
  • Django - 将参数传递给 CBV 装饰器的正确方法?

    文档功能应用装饰器的不错选择 例如login required基于类的视图 https docs djangoproject com en dev topics class based views intro decorating the
  • ANDROID CAMERA:获取参数失败(空参数)

    您好 我仅在棒棒糖以下的操作系统版本中遇到此问题 对此进行了大量搜索 但没有找到正确的解决方案 我认为问题出在操作系统版本上 它在 5 中工作正常 我的代码是 private void setCameraPhotoQuality Camer
  • 设置 li 标签内 的字体颜色

    我的标记如下所示 div class c1 li class c2 a href blah a li div 我希望文字 blah 是红色的 c1 在其他地方使用 所以我想在不影响其他标记的情况下尽可能深入 在您的 css 文件中使用此样式
  • C#:绘制自己的条形图

    我正在尝试通过绘制一个简单的条形图C 但我从未尝试过 Graphics 和 Drawing 命名空间 我想生成一个 开始 和 结束 图形 然后以某种方式重复图像 以显示 长度 但我不知道如何做到这一点 如果您能指出正确的方向和 或您有示例代
  • 尽管包含必需的标头,但仍出现“‘sockaddr_in’未声明(在此函数中首次使用)”错误

    include
  • 如何将列表转换为可枚举

    我的以下代码有问题 public IEnumerable
  • 为什么 php 脚本速度变慢?

    我正在编写迁移脚本 该脚本从一个 MySQL 数据库中选择数据并通过原则导入到另一个 MySQL 数据库中 问题是 在创建每个实体块之后 我的脚本速度就会变慢 导入前 100 篇文章大约需要 5 秒 接下来的 100 篇文章需要 7 秒 接
  • T-SQL 中的随机加权选择

    如何根据所有候选行的应用权重在 T SQL 中随机选择表行 例如 我在表中有一组行的权重分别为 50 25 和 25 加起来为 100 但不是必须的 我想随机选择其中一个 其统计结果相当于相应的行重量 Dane 的答案包括以引入平方律的方式
  • 使用 ionic zip 时压缩失败

    我正在使用最新版本的 ionic zip 版本 1 9 1 8 我已经设置了 ionic zip 的属性ParallelDeflateThreshold 0 过去两个月 压缩机制工作得很好 突然 它停止工作了 压缩线程挂起 ionic zi
  • bash 是否存在内存泄漏?

    我在跑bashv4 4 19 1 在 Ubuntu 18 10 上发布 如果我跑valgrind在一个简单的脚本上 或者甚至bash version 我发现我确实丢失了 12 个字节的内存 但仍然可以访问大约 46kB 的内存 仍然可访问的
  • 删除 Pig 输出中的括号和逗号

    目前我的输出如下 130 1 131 1 132 1 133 1 137 1 138 2 139 1 140 1 142 2 143 1 我想要这样 130 1 131 1 132 1 我的代码如下 A LOAD user links sm
  • xcode9 / SceneKit - .dae 文件未加载到 SCNScene 中 - 返回 nil

    我正在尝试使用以下代码将 dae 文件加载到 SCNScene 中 let solutionScene SCNScene named art scnassets level1 dae print solutionScene rootNode
  • 使用 numpy 对数组进行高效阈值过滤

    我需要过滤一个数组以删除低于某个阈值的元素 我当前的代码是这样的 threshold 5 a numpy array range 10 testing data b numpy array filter lambda x x gt thre
  • Android Wear 通过删除数据项在 Data Api 上删除数据

    我的问题很简单 如何从DataAPI中删除数据 我在路径 model model id 中有一些数据 想要删除 model 中的所有数据 我使用代码 uri new Uri Builder scheme PutDataRequest WEA
  • 显示 PopupWindow 时未调用 onBackPressed

    嘿伙计们 所以目前我正在使用 PopupWindow 来显示应用程序内浏览器 然而 当按下后退按钮时 它什么也不做 我在另一个片段中使用 PopupWindow 然后使用语句在 FragmentActivity 中设置 PopupWindo
  • npm 错误!代码 EPEERINVALID

    我是新来的 我得到一个 npm 错误 代码 EPEERINVALID 详细信息如下 我目前正在运行以下内容 nvm 0 32 1 npm 2 15 9 节点 v4 5 0 grunt cli v1 2 0 咕噜 v0 4 5 而且 在进行软
  • Python 列表附加导致奇怪的结果

    我有一个非常奇怪的问题 这是示例代码 class SomeClass object a b def init self args kwargs self a 1 2 3 4 self b self a self a append 5 6 p
  • 获取二维数组的长度

    如果我不知道数组的第二个维度 如何获取它 array length仅给出第一个维度 例如 在 public class B public static void main String main int nir new int 2 3 Sy
  • LAST_INSERT_ID() MySQL

    我有一个 MySQL 问题 我认为这一定很简单 当我运行以下 MySql 查询时 我需要从 table1 返回最后插入的 ID INSERT INTO table1 title userid VALUES test 1 INSERT INT