如何连接两个我同时插入数据的mysql表

时间:2011-05-10 08:55:07

标签: php mysql

如何连接两个同时插入数据的mysql表?

我有表 客户 ,这是我的应用表格,我有 用户 ,这是由图书馆使用的我用于我的框架,这个库处理用户和授权。

我想在 user_id (来自 用户 id )客户 ,但我正在同时创建这两个表。

有什么想法吗?谢谢!

3 个答案:

答案 0 :(得分:1)

php命令mysql_insert_id为您提供插入表中的最后一条记录的ID。所以,如果您插入一个用户,你可以获得id,然后将其插入另一个表?

http://php.net/manual/en/function.mysql-insert-id.php

或者我错误地理解了你的问题?

答案 1 :(得分:1)

根本不可能。在程序中不能同时发生任何事情。

可能的是:

  • 启动数据库事务
  • 执行您的第一个查询
  • 检索表的密钥;如果它是自动增量,则有内置方法可以检索每个数据库API中最后插入的密钥
  • 使用检索到的密钥作为参数执行第二个查询
  • 提交交易;但是如果发生错误,则需要回滚整个事务

这就是它的完成方式,它的行为与你想要的完全一样。

答案 2 :(得分:0)

链接表怎么样?

users_customers
user_id | customer_id
=====================
 1      |  648785552
 5      |  145778304
 4      |  654566055

然后,您可以使用此表将表连接在一起,例如:

SELECT users.name, customers.address
  FROM users
  JOIN users_customers
    ON users_customers.user_id = users.id
  JOIN customers
    ON users_customers.customer_id = customers.id