问题标签 [last-insert-id]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 使用事务时是否可靠 PDO lastInsertId()
我使用 PDO 事务
此脚本需要多个并发请求。
问题:是否有可能lastInsertId()
为实际插入行的用户返回不正确的值?
(“不正确的值”是指:由其他用户插入的 id)。
mysql - MySQL INSERT ... 从 1 个表中选择 2 个表
我看到很多关于从多个表中插入单个表的问题。我试图做相反的事情,并且只使用 MySQL。
我有一个包含非规范化数据的临时表。我需要
- 遍历临时表的每一行
- 使用临时表中的一些字段在主表上创建一个新行
- 使用刚刚创建的主表行的自动增量 ID 在辅助表上创建一个新行,将其
LAST_INSERT_ID()
放入 primary_id 字段。
我了解整体LAST_INSERT_ID()
,我很高兴运行一个事务:我只是不知道如何创建循环通过临时表然后运行 2 个后续插入的“外部选择循环”。
php - 如何获取 Codeigniter 中模型之间事务中关系的最后一个 ID?
我在用户控制器的一个函数中有这个代码。我正在使用 Codeigniter。
它用于通过表单处理注册。(验证通过 form-validation 库完成)-
- 具有用户名的用户,name_user 存储在用户表中
- 公司存储在公司表中
- 公司和用户之间的关系存储在 userprofile-table 中
我认为代码是不言自明的,但我不清楚如何在 userprofile-model 中插入关系。我确实需要最后插入的用户 ID 和最后插入的公司 ID,但在我的代码中我没有,因为在调用之前我实际上并没有插入任何用户或公司$upm->getSQLInsert();
还是我做错了?请给我任何指示...
python-3.x - 如何根据rowid删除数据
使用 python,我如何根据 lastrowid 删除数据。我的代码删除了所有行代码:
mysql - MySQL - 带有更新和插入的过程中最后一次选择的输出
我有一个执行以下语句的存储过程:
- 填充变量的选择
- 利用所述变量的更新
- 另一个选择填充第二个变量
- 使用第二个变量的插入
- 选择 last_insert_id() 将 4 的插入 ID 吐出给调用应用程序。
SP 返回第一个变量,因为它是第一个选择。
有什么办法可以检索最后一个插入ID吗?
我知道我可以在应用程序的光标上使用最后一个插入 ID,但这会破坏我正在使用的模型。我想我可以作为最后的手段这样做,但我正在寻找其他选择。
php - 如何获取最新的自动递增 id 数组?
一个查询插入多行:
我想要的是 :
自动递增 id 的数组。
我正在使用什么SELECT LAST_INSERT_ID()
:
我只得到一个 id。我应该怎么做才能得到最后插入字段的所有自动递增值的数组。
PS:我不能触发多个插入查询。
mysql - UPDATE + CASE WHEN + EXISTS + SELECT MAX 的 MySQL 语法
编辑:现在工作,这篇文章底部的解决方案。
我已经尝试创建这个查询几个小时了,但没有成功:
现在,重点是更新tasks
表的列Order
,其中ID
等于某些值(此处为 LAST_INSERT_ID())。
user_job_tasks
如果在where中存在任何记录jobID
并taskID
匹配值,我想设置为where中找到的Order
最大值 + 1匹配值。Order
user_job_tasks
jobID
如果不是,Order
将设置为 1。
我只是得到一个错误General error: 1093 You can't specify target table 'tasks' for update in FROM clause
。我在查询语法中找不到任何错误。
抱歉解释混乱,也许我应该去睡觉。
工作解决方案:
mysql - MySQL - 返回最后插入的 ID 组
所以有很多关于LAST_INSERT_ID()的问题和答案。如果您要插入单行并需要该 ID 的返回值来处理事情,这很好用,但是如果您正在执行组插入并需要所有 AUTO_INCREMENT ID 的返回值怎么办?
拿这张表:
我需要将 的值插入Name 1
到表中,然后将其primary key
插入 Data1、2 和 3 中的值到其他具有主键约束的表中。
问题是“名称”不是唯一的,所以我无法查询原始/临时表并以这种方式获取值。
根据文档,last_insert_id()在单个 INSERT 语句的上下文中运行。反正我测试过了。
我还尝试将值写回表中,但当然 SQL 对集合进行操作:
给我:
任何帮助将不胜感激。
php - MySQL :: insert_id 为 SELECT 查询返回非零值
我刚刚花了 4 个小时来跟踪我的脚本中的一个错误。我一直收到以下错误:
Call to a member function fetch_assoc on a non object
当我做类似的事情时,这是被抛出的:
我的database -> query
方法看起来像:(对象在$database -> mysqli
哪里mysqli
)
现在,这将返回插入行的插入自动增量 ID,否则返回查询结果。我刚刚发现,如果我运行一个插入查询然后是一个选择查询,第二个查询将返回预先运行的插入查询的插入 ID。这真的是预期的行为,还是我在这里遗漏了什么?
php - 如何从laravel 4获取最后一个插入ID
我正在使用 laravel 4。我有一个名为文档的表。我正在使用 Document::insert() 函数在 Document 表中插入数据。我的代码如下
现在我想获取插入 ID。但是 $users 变量只给了我一个名为 true 的布尔变量。如何获取插入 ID。