我目前正在一次插入多行。我在“协议”表中有一个“id”列,它设置为自动增量。显然,这是为插入的每一行创建一个新的id。
有没有办法一次性使用相同的ID插入所有行?
if ($stmt = $mysqli->prepare("INSERT agreement (start, end, customer, manufacturer, item_number, item_description) VALUES (?, ?, ?, ?, ?, ?)")) {
$stmt->bind_param("ssssss", $start, $end, $customer, $manufacturer, $number, $description);
for ($i = 0; $i < count($_POST['item']); $i++) {
$number = $_POST['item'][$i];
$description = $_POST['description'][$i];
$theid2 = $theid[$i];
$stmt->execute();
}
$stmt->close();
}
// show an error if the query has an error
else {
echo "ERROR: Could not prepare SQL statement 1.";
}
// redirect the user
}
$mysqli->error;
$mysqli->close();
答案 0 :(得分:0)
如果这是oracle,答案是肯定的,但MySQL没有序列。为此,您需要一个用于记录集的唯一序列的来源。最简单的方法是插入另一个表并从中获取自动递增的密钥以用作您的id。