手册
目录
如果我们在有 AUTO_INCREMENT 字段的表上执行 INSERT 或 UPDATE 操作,我们可以立即获取最后插入/更新的记录的 ID。
在 "MyGuests" 表中,id 列是一个 AUTO_INCREMENT 字段:
CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )
下例与上一页中的例子相同,除了我们添加了一行代码来检索最后插入的记录的 ID。我们还输出了最后插入的 ID:
connect_error) {
die("连接失败:" . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
$last_id = $conn->insert_id;
echo "新记录已成功创建。最后插入的ID是:" . $last_id;
} else {
echo "错误:" . $sql . "
" . $conn->error;
}
$conn->close();
?>
" . mysqli_error($conn); } mysqli_close($conn); ?>
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
// 使用exec(),因为没有返回结果
$conn->exec($sql);
$last_id = $conn->lastInsertId();
echo "新记录已成功创建。最后插入的 ID 是:" . $last_id;
} catch(PDOException $e) {
echo $sql . "
" . $e->getMessage();
}
$conn = null;
?>
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习