首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -我应该使用last_insert_id()吗?还是别的什么?

MySQL -我应该使用last_insert_id()吗?还是别的什么?
EN

Stack Overflow用户
提问于 2013-01-28 09:40:41
回答 2查看 153关注 0票数 0

我有一个表users,它有一个自动递增的id列。对于每个新用户,我基本上需要将三行插入到三个不同的表中,这三个表分别是1.user、2.user_content和3.user_preferences。插入到user_contentuser_preferences中的行由对应于每个用户的id (保存在user中)的id引用。

我该如何做到这一点?

我是否应该首先执行INSERT INTO user查询,使用last_insert_id()获取自动递增的id,然后使用获得的用户id执行另外两个INSERT INTO查询?或者,有没有更简洁的方法呢?

(注意:我使用的是MySQL和PHP,如果有区别,我将使用bigintid值存储在所有三个表中。)

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-28 09:44:52

您所描述的方法(首先插入到user中,获取last_insert_id()的结果,然后使用该方法插入到其他两个表中)是完全合理的;我认为它没有任何问题。

在技术上,可以组合这三个查询并使用LAST_INSERT_ID() MySQL函数将值插入到其他两个表中,但这将明显更加复杂,而没有任何相应的好处。换句话说,这并不真正值得去做。

票数 2
EN

Stack Overflow用户

发布于 2013-01-28 09:45:22

我看到3个选项:

使用一些存储过程的触发器PHP端(as describe)

  • Create a
  1. *_last_insert_id
  2. Use a*_last_insert_id.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14554340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档