2017-02-24 47 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