我有一个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
值?
这与返回受影响的行的 number 完全不同,我知道使用$stmt->affected_rows
收到了这一数字。我关注受影响的记录中的值。
我认为您可以在这两个insert
S之间使用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
并进行第二个插入。