2017-02-24 86 views
0

我有一个SQL查询插入一个新的记录到table1。这些记录“身份证”是PK(field1),并有自动递增属性:上次查询中受影响行的SQL返回值?

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收到的完全不同。我关注受影响记录中的

+1

根据你的数据库/接口风格,[LAST_INSERT_ID](http://php.net/manual/en/mysqli.insert-id.php) –

回答

0

我想你可以在这两个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,让你的第二个插入。

+2

哎唷!!!!有没有人听说过[LAST_INSERT_ID](http://php.net/manual/en/mysqli.insert-id.php)? –

+0

@MarkBaker Nope:/ – WasteD