Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีดึง ID หลังจาก INSERT ข้อมูลเข้า MySQL ด้วย Python


ข้อมูลถูกเพิ่มเข้าตารางด้วยคำสั่ง 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