Giới thiệu
Khi chèn dữ liệu vào bảng MySQL bằng câu lệnh INSERT, để lấy ID của hàng vừa chèn, sử dụng thuộc tính lastrowid của đối tượng con trỏ.
Điều kiện tiên quyết:
- Cột ID phải là khóa chính (PRIMARY KEY)
- Cột ID phải tự động tăng (AUTO_INCREMENT)
Cú pháp
cursor.lastrowid
Các bước thực hiện
- Import
mysql.connector - Thiết lập kết nối bằng
connect() - Tạo đối tượng con trỏ qua
cursor() - Viết truy vấn INSERT
- Thực thi truy vấn bằng
execute() - Lấy ID bằng
cursor.lastrowid - Commit thay đổi bằng
db.commit() - Đóng kết nối
Ví dụ minh họa
Bảng Students (id là PK, AUTO_INCREMENT):
+--------+---------+-----------+------------+ | id | Name | City | Marks | +--------+---------+-----------+------------+ | 1 | Karan | Amritsar | 95 | | 2 | Sahil | Amritsar | 93 | | 3 | Kriti | Batala | 88 | | 4 | Amit | Delhi | 90 | +--------+---------+-----------+------------+
import mysql.connector
db = mysql.connector.connect(
host="your_host",
user="your_username",
password="your_password",
database="database_name"
)
cursor = db.cursor()
# Chèn hàng mới
query = "INSERT INTO Students VALUES(5, 'Priya', 'Amritsar', 90)"
cursor.execute(query)
db.commit()
# In ID của hàng vừa chèn
print(cursor.lastrowid)
db.close()
Kết quả
5