繁体   English   中英

SQL返回上次查询中受影响的行的值?

[英]SQL return values of affected rows in last query?

我有一个SQL查询,它将新记录插入到table1 记录'id'是PK( field1 )并具有自动递增属性:

INSERT INTO table1 (field2, field3) VALUES ("Hello", "World")

我的下一个查询(紧随其后)将一条记录插入table2 ,并要求在上一个查询中受影响的行的ID。

INSERT INTO table2 (field2) VALUES (PKValueOfAffectedRowInPreviousQuery)

是否有一个函数可以为查询中受影响的行返回结果集,类似$result = $stmt->return_affected_records()这样,以便我可以访问此field1值?

这与返回受影响的行完全不同,我知道这是使用$stmt->affected_rows收到的。 我关心那些受影响的记录中的

我认为您可以在这两个insert之间进行select

$value1 = "Hello";
$value2 = "World";

INSERT INTO table1 (field2, field3) VALUES ($value1,$value2);

$sql = "SELECT field1 FROM table1 WHERE field2 ='" . $value1 . "' AND field3 = '" . $value2 . "'"; 

现在,您只需要从结果中提取id并进行第二次插入即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM