📅  最后修改于: 2023-12-03 15:39:51.804000             🧑  作者: Mango
有时候,我们需要在MySQL数据库中插入一条数据,并且需要获取插入数据的id,以便后续操作。这时候就需要用到MySQL提供的插入查询语句。
插入查询语句的语法如下:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...);
SELECT LAST_INSERT_ID();
table_name
表示要插入数据的表名。(column1, column2, column3,...)
表示要插入数据的列名。(value1, value2, value3,...)
表示要插入的数据值。SELECT LAST_INSERT_ID();
语句用于获取插入数据的id。假设我们有一个 users
表,包含 id
, name
, age
三列,现在需要插入一条数据 ('Tom', 18)
,并获取插入数据的 id
。
INSERT INTO users (name, age)
VALUES ('Tom', 18);
SELECT LAST_INSERT_ID();
执行以上语句后,可以得到以下结果:
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 1 |
+------------------+
其中,1
就是插入数据的 id
。
在PHP代码中,我们可以使用MySQL提供的 mysqli
或 PDO
扩展来执行插入查询。下面是使用 mysqli
扩展的示例代码:
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 插入数据
$sql = "INSERT INTO users (name, age) VALUES ('Tom', 18);";
$conn->query($sql);
// 获取插入数据的id
$id = $conn->insert_id;
echo "New record created successfully. Last inserted ID is: " . $id;
// 关闭连接
$conn->close();
?>
使用 PDO
扩展的示例代码:
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 插入数据
$sql = "INSERT INTO users (name, age) VALUES ('Tom', 18);";
$conn->exec($sql);
// 获取插入数据的id
$id = $conn->lastInsertId();
echo "New record created successfully. Last inserted ID is: " . $id;
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
// 关闭连接
$conn = null;
?>
以上是插入查询语句的基本用法和示例代码,希望对大家学习MySQL有所帮助。