📅  最后修改于: 2023-12-03 15:21:56.121000             🧑  作者: Mango
在MySQL数据库中,每个表都有一个自增的ID,也称为主键。在插入新行时,通常需要获取插入的行的ID。
以下是一种使用Python语言从MySQL服务器获取刚插入的行ID的方法。
在Python中与MySQL服务器进行交互需要使用第三方MySQL驱动程序。最常用的是mysql-connector-python
,可以使用pip安装:
pip install mysql-connector-python
在与MySQL服务器进行交互之前,需要建立与服务器的连接。使用以下代码可以连接到服务器:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
确保将yourusername
,yourpassword
和mydatabase
替换为实际值。如果您使用的是远程服务器,则还需要提供服务器IP地址。
假设您有一个名为customers
的表。您可以使用以下Python代码向表中插入一行:
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print("1 record inserted, ID:", mycursor.lastrowid)
第一行代码创建一个指向MySQL服务器的游标对象。接下来,SQL插入语句准备要插入的值,%s
表示占位符。通过execute()
方法执行插入操作。最后一行打印插入的行的ID。
注意执行最后一行代码需要在插入行后提交更改。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print("1 record inserted, ID:", mycursor.lastrowid)
使用上述步骤和代码可以轻松地从MySQL服务器获取刚插入的行的ID。记住,每次插入行时都需要确保提交更改以便获得正确的ID。