如何使用剩余表的自动增量值插入多个表

时间:2013-10-24 02:25:01

标签: mysql database

我有一个包含2个表的数据库。第一个表(table1)有:

  userId int not null auto_increment primary key
  userEmail
  userPassword

userId是我的主键,它是自动递增的。我的下一个表(表2)有:

 userProfileId int not null auto_increment primary key
 userAge
 userGender
 userId 

userId(来自table2)是我引用table1(userId)的外键。有没有办法INSERT INTO两个表的所有信息,并让table2中的userId自动获取它从table1引用的主键?或者我必须为每个表执行多个INSERTS并明确地使我的外键具有相同的值。

1 个答案:

答案 0 :(得分:0)

您可以使用mysql的“Last_insert_id”,如下所示 -

<?php
$user_query="INSERT INTO accounts (userId,userEmail,userPassword) VALUES (NULL,'saving@gmail.com','XXXXXXXXX')";
$profile_query="INSERT INTO transactions(userProfileId,userAge,userGender,userId) VALUES (NULL,25,'m'LAST_INSERT_ID)";

$a_query=mysql_query($user_query);
$t_query=mysql_query($profile_query);
?>

注意:不推荐使用mysql_ *。相反,您可以使用PDO语句。

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

Reff:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id