我想在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并得到它?
答案 0 :(得分:2)
除了在PHP 7中弃用和删除mysql函数这一事实之外,mysql_insert_id也可以正常工作,因为该函数使用您的连接返回上次生成的id。如果其他人创建了另一条记录,那么您将使用您的连接获得最后生成的ID,而不是该表中最后插入的ID。
尝试使用PDO或MySQLi。