有没有办法返回刚刚使用 PHP 在 MySQL 中创建的行的 id?
当我在 MySQL 数据库中创建新条目时,我希望查询返回刚刚创建的表的 ID。 如果不能做到这一点,是否有其他方法可以找到此 id? 我想这样做的原因是这样我可以将新行链接到生成它的行(并且不能保证它们是连续的)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
你的意思是最后一个自动增量id?
You mean last autoincrement id?
您需要
mysql_insert_id()
You want
mysql_insert_id()
您的意思是刚刚插入表中的记录的 ID,如果是的话,您正在寻找 mysql_insert_id。
Do you mean the ID of the record you have just inserted into a table, if so you are looking for mysql_insert_id.
看看 https://www.php.net/mysql_insert_id
have a look at https://www.php.net/mysql_insert_id
使用 mysql_insert_id 函数... http://php.net/mysql_insert_id
请原谅下划线转换“插入”斜体...点击链接,你应该没问题。
Use the mysql_insert_id function... http://php.net/mysql_insert_id
Excuse the underscores converting the 'insert' into italics... follow the link and you should be fine.
My SQL 中有 LAST_INSERT_ID()(ms sql 中有 @@IDENTITY),php 中有 mysql_insert_id。
但就我个人而言,我尝试避免自动增量/身份列并以其他方式生成我的 id。 除其他原因外,因为它们使插入多个表变得更加困难。
/B
You have LAST_INSERT_ID() in My SQL (@@IDENTITY in ms sql) and mysql_insert_id in php.
Personally though, I try to avoid auto increments / identity columns and generate my id's in other ways. Amongst other reasons, because they make inserts into multiple tables harder.
/B