2016-03-10 57 views
0

如何在INSERT INTO中使用多個值時知道哪一行成功插入。例如:多個INSERT的輸出消息 - mysql

INSERT IGNORE INTO (a) VALUES (1), (2), (3)

,並在表中的現有值 1

所以我的問題是,要知道具體的行插入什麼,如果有可能是重複的行。

更新:當我在我的PHP頁面中使用INSERT IGNORE INTO (a) VALUES (1), (2), (3)$stmt->affected_rows,它返回2。我想知道價值23被添加和價值1重複。

+1

你能分享你試過嗎? –

+0

'$ stmt-> affected_rows',這是我迄今使用的格式。它只是返回成功添加的行,但不是特定的行... –

回答

0

您可以使用mysqli_affected_rows功能:

$conn = new mysqli($servername, $username, $password, $dbname); 
$sql = "INSERT IGNORE INTO orders (name) VALUES (1), (2), (3)"; 
$result = mysqli_query($conn, $sql); 
$rows_affected = mysqli_affected_rows($conn); 
echo $rows_affected; 
+0

'mysqli_affected_rows'只返回添加的行數,但沒有添加特定行... –

+0

什麼,你可以清除@EmmanuelDedel –

+0

@EmmanuelDedel它返回成功插入的行,並且當您知道總插入行時,則失敗的行=總計 - 成功 –