ข้อมูลถูกเพิ่มเข้าตารางด้วยคำสั่ง INSERT เพื่อดึง ID ของแถวที่เพิ่งเพิ่มเข้าไป ใช้ lastrowid ซึ่งเป็นคีย์เวิร์ดพิเศษสำหรับดึง ID ของแถวล่าสุดที่เพิ่ม
เงื่อนไขก่อนใช้งาน:
- คอลัมน์ ID ต้องเป็น Primary Key
- คอลัมน์ ID ต้องเป็น Auto Increment
ไวยากรณ์
cursor.lastrowid
cursor คือออบเจ็กต์ cursor
ขั้นตอนดึง ID ของแถวที่เพิ่งเพิ่มด้วย MySQL ใน Python
นำเข้า MySQL Connector
สร้างการเชื่อมต่อด้วย
connect()สร้างออบเจ็กต์ cursor ด้วย
cursor()สร้างคำสั่ง INSERT
รันคำสั่งด้วย
execute()ดึง ID ด้วย
lastrowidปิดการเชื่อมต่อ
สมมติว่ามีตาราง Students:
+--------+---------+-----------+------------+ | id | Name | City | Marks | +--------+---------+-----------+------------+ | 1 | Karan | Amritsar | 95 | | 2 | Sahil | Amritsar | 93 | | 3 | Kriti | Batala | 88 | | 4 | Amit | Delhi | 90 | +--------+---------+-----------+------------+
ตัวอย่าง
คอลัมน์ ID เป็น Primary Key และ Auto Increment เพิ่มแถวใหม่และดึง ID
import mysql.connector
db = mysql.connector.connect(
host="your_host",
user="your_username",
password="your_password",
database="database_name"
)
cursor = db.cursor()
# เพิ่มแถวใหม่
query = "INSERT INTO Students VALUES(5, 'Priya', 'Amritsar', 90)"
cursor.execute(query)
db.commit()
# แสดง ID ของแถวที่เพิ่งเพิ่ม
print(cursor.lastrowid)
db.close()ผลลัพธ์
5