gpt4 book ai didi

mysql - LAST_INSERT_ID 在我的情况下不起作用

转载 作者:行者123 更新时间:2023-11-30 00:18:43 25 4
gpt4 key购买 nike

$stmt2 = $db->prepare("INSERT INTO 
usertabbrige(`tabId`,`uId`)
VALUES
((LAST_INSERT_ID()),$userId)");

这个查询有什么问题吗?它包含在我的第一个 stmt 中,它将向其他表中的 uId (PK) 插入一个值。 usertabbrige 表包含一个字段 uId,它是一个 FK。

最佳答案

请勿在查询中使用LAST_INSERT_ID()。您不知道当前 session 中最后一条插入语句。您可以插入到一个表中,如果您在另一个查询中使用 LAST_INSERT_ID(),您实际上并不知道 LAST_INSERT_ID() 来自哪里。

据我所知,您正在使用PDO。执行插入查询后,保存 id:

$db->query("INSERT INTO ...");
$lastInsertedTabId = $db->lastInsertId;

在下一个准备好的陈述中使用它

$stmt2 = $db->prepare("INSERT INTO 
usertabbrige(`tabId`,`uId`)
VALUES
($lastInsertedTabId ,$userId)");

关于mysql - LAST_INSERT_ID 在我的情况下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23428776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com