好的,这是我的场景 - 您可能不同意我正在尝试做的事情,但我有我的理由。 用户可以将各种信息上传到数据库,我也希望他们能够同时上传图片。现在由于各种原因,我想存储图像的文件名称我加入的记录的ID号(我有一个ID列作为自动增量的主要)。很明显,我将不得不将文件扩展名存储在数据库中。 现在有一种方法可以添加记录,然后知道设置了什么ID以便我可以保存图像?如果两个人同时提交表单,我不想查询并选择最高的ID,因为这可能会出错。 任何想法?MYSQL - 查找刚刚添加的记录的ID
回答
运行在PHP中插入之后,可以从$mysqli->insert_id
(其中$ mysqli的获得AUTO_INCREMENT
ID是MySQLi
连接对象),$pdo->lastInsertId
(其中$ pdo是PDO
连接对象)或mysql_insert_id()
(如果您仍在使用MySQL
,您不应该这样做),而无需运行其他查询。
LAST_INSERT_ID()
会给你ID
这是自动生成的:
...返回表示:在对一个
AUTO_INCREMENT
列设置第一 自动生成的价值BIGINT
(64位)值最近执行的INSERT
声明影响到这样的 一列。例如,将产生一个AUTO_INCREMENT
值的行后,就可以得到这样的价值:mysql> SELECT LAST_INSERT_ID(); -> 195
非常感谢!这似乎会起作用。虽然有可能如果有几个人同时提交表格,它可能会选择错误的表格吗? – cainy393 2013-03-14 19:04:35
@ user1821586有点搜索会告诉你。在发布问题之前,请务必做一些调查。尝试找到解决方案,当你被困在这里时,不要在这里发布! – 2013-03-14 19:06:03
@ user1821586如果有几个人同时提交表单,它会起作用,因为它会为您提供* current连接*的最后一个自动生成值。由于每个表单提交将使用不同的连接,它们不会干涉。 – 2013-03-14 19:08:13
- 1. 获取刚添加使用MySQL记录ID准备语句
- 2. 获取刚刚发布的记录ID的最简单方法
- 3. 刚刚提交的mysql id字段
- 4. 获取刚刚插入的记录的ID?
- 5. 如何获取刚刚插入的最新记录的ID?
- 6. 如何获取刚刚插入的记录标识(mysql)?
- 7. 如何使用AJAX删除刚添加的MySQL记录?
- 8. 无法刚刚添加的列
- 9. 刚刚添加的jQuery访问DOM
- 10. 日志记录刚刚出现异常
- 11. 刚刚获得记录N天前
- 12. 找我刚才插在德比数据库记录的ID
- 13. 刚刚保存的Java MongoDB ID
- 14. 如何将事件添加到刚刚添加的jQuery元素?
- 15. 获取行的ID刚刚插入MySQL数据库
- 16. 找不到刚刚在JPA的另一个线程中创建的记录
- 17. 获取我刚刚插入的记录的主键
- 18. 检索唯一ID为刚添加
- 19. 回到刚才算的MySQL查询发现记录
- 20. Mysql获取刚刚插入的行
- 21. 正在更新我刚刚创建的记录
- 22. 我如何在刚刚更新的Rails中获取记录?
- 23. 根据updated_timestamp获取刚刚插入/修改的记录
- 24. 获取刚刚插入到web.py中的记录
- 25. 记录刚刚没有临时表时选择的内容?
- 26. ActiveRecord回调 - 如何根据刚刚保存的记录创建新记录?
- 27. 获取刚刚添加的行的最佳方法。 Heroku + Node + Postgres
- 28. 如何获取刚刚添加到DataTable的行的标识?
- 29. jQuery的下一个()刚刚添加的元素
- 30. 如何添加刚刚上传的文件的名称?
你能否详细说明?我不熟悉pdo。 – cainy393 2013-03-14 19:07:53
@ cainy393你在PHP中使用什么来运行查询? – 2013-03-14 19:11:21
erm ...没有任何真正的mysql_query(“INSERT INTO table(Some,Stuff)VALUES(Some,Values);”) – cainy393 2013-03-14 19:36:24