在MySQL中,当你向一个带有自增主键(AUTO_INCREMENT)的表中插入数据时,可以使用以下几种方法来获取刚刚插入的自增ID。
LAST_INSERT_ID()
函数在插入数据后,立即执行 SELECT LAST_INSERT_ID();
语句,可以获取到刚刚插入的自增ID。
INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2');
SELECT LAST_INSERT_ID();
你可以在插入数据的同时获取自增ID,使用 LAST_INSERT_ID()
函数。
INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2');
SELECT LAST_INSERT_ID() AS last_id;
mysql_insert_id()
函数(在编程语言中)如果你是通过编程语言(如PHP、Python等)与MySQL交互,可以使用相应的函数来获取自增ID。
PHP:
$query = "INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2')";
mysqli_query($connection, $query);
$last_id = mysqli_insert_id($connection);
echo "Last inserted ID is: " . $last_id;
Python (using MySQLdb):
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (%s, %s)", ('value1', 'value2'))
last_id = cursor.lastrowid
print("Last inserted ID is:", last_id)
Python (using PyMySQL):
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (%s, %s)", ('value1', 'value2'))
last_id = cursor.lastrowid
print("Last inserted ID is:", last_id)
RETURNING
子句(MySQL 8.0+)在MySQL 8.0及以上版本中,你可以使用 RETURNING
子句来获取插入的自增ID。
INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2') RETURNING id;
LAST_INSERT_ID()
函数是基于当前连接的,因此它只会返回当前连接中最后插入的自增ID。LAST_INSERT_ID()
只会返回最后一条插入记录的自增ID。通过以上方法,你可以轻松获取MySQL中插入数据后的自增ID。