如何在mysql中插入2个相关记录

时间:2016-02-09 16:53:20

标签: php mysql sql sql-insert

我想在mysql中的2个不同表中存储2个相关记录 我有这些信息 name,option1,option2

name及其id存储在users表中,选项存储在选项表
中 此表中的uid是自动增量

用户表

uid --- name
1   --- Jack
2   --- Sara

选项表

user_uid --- option
1        --- aaa
1        --- bbb
2        --- ccc
2        --- ddd

问题是如何在users表中找到下一个uid以使用该外键保存我的选项,有几种方法可以获得下一个生成的id,如

LAST_INSERT_ID() 

mysql_insert_id()

$result = mysql_query("SHOW TABLE STATUS LIKE 'table_name'");
$row = mysql_fetch_array($result);
$nextId = $row['Auto_increment']; 

但如果同时向服务器发送多个请求,这些方法是否有效?
如果在我获得最后一个id后,另一条记录保存到db并更改最后一个id 有没有办法保留下一个自动增量ID并得到它?

1 个答案:

答案 0 :(得分:2)

除了在PHP 7中弃用和删除mysql函数这一事实之外,mysql_insert_id也可以正常工作,因为该函数使用您的连接返回上次生成的id。如果其他人创建了另一条记录,那么您将使用您的连接获得最后生成的ID,而不是该表中最后插入的ID。

尝试使用PDO或MySQLi。