如何在INSERT INTO
中使用多个值时知道哪些行已成功插入。例如:
INSERT IGNORE INTO (a) VALUES (1), (2), (3)
并且表中的现有值是
1
所以我的问题是,要知道插入了哪些特定行,如果可能,还要知道重复的行。
更新:当我在INSERT IGNORE INTO (a) VALUES (1), (2), (3)
的php页面中使用$stmt->affected_rows
时,会返回2
。我想知道值2
和3
已添加,值1
重复。
答案 0 :(得分: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;