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

จะรับ id หลังจาก INSERT ลงในฐานข้อมูล MySQL โดยใช้ Python ได้อย่างไร


ข้อมูลถูกแทรกลงในตารางใน Mysql โดยใช้คำสั่ง INSERT ขณะแทรกข้อมูลลงในตาราง ต้องระบุข้อมูลในลำดับเดียวกับคำจำกัดความคอลัมน์ในฐานข้อมูล หรือต้องระบุชื่อคอลัมน์พร้อมกับข้อมูลขณะใช้คำสั่ง INSERT

ในการรับและพิมพ์ ID ของแถวที่แทรกล่าสุด จะใช้ Lastrowid นี่เป็นคีย์เวิร์ดพิเศษที่ใช้เพื่อรับ ID ของแถวที่แทรกล่าสุด มีข้อกำหนดเบื้องต้นบางประการที่ต้องดูแลก่อนที่จะใช้วิธีนี้

  • คอลัมน์ ID ต้องเป็นคีย์หลักในตาราง

  • คอลัมน์ ID จะต้องเพิ่มขึ้นโดยอัตโนมัติ

ไวยากรณ์

cs.lastrowid

ที่นี่ cs เป็นวัตถุเคอร์เซอร์

ขั้นตอนในการรับ id ของแถวที่แทรกในตารางโดยใช้ MySQL ใน python

  • นำเข้าตัวเชื่อมต่อ MySQL

  • สร้างการเชื่อมต่อกับตัวเชื่อมต่อโดยใช้ connect()

  • สร้างวัตถุเคอร์เซอร์โดยใช้เมธอด cursor()

  • สร้างแบบสอบถามเพื่อ INSERT แถวลงในตาราง

  • เรียกใช้คำสั่ง SQL โดยใช้เมธอด execute()

  • รับ ID ของแถวที่แทรกโดยใช้ Lastrowid

  • ปิดการเชื่อมต่อ

สมมติว่าเรามีตารางต่อไปนี้ชื่อว่า “นักเรียน”

<ก่อนหน้า>+---------+---------+-----------+------------+| id | ชื่อ | เมือง | เครื่องหมาย |+---------+---------+-----------+------------+| 1 | การัน | อมฤตสาร์ | 95 || 2 | ซาฮิล | อมฤตสาร์ | 93 || 3 | กฤติ | Batala | 88 || 4 | อามิต | เดลี | 90 |+-------+---------+-----------+-----------+

ตัวอย่าง

คอลัมน์ ID ในคอลัมน์ด้านบนเป็นคีย์หลักและเพิ่มค่าอัตโนมัติ เราจะแทรกแถวใหม่ลงในตารางและรับรหัสของแถวที่แทรกล่าสุด

นำเข้า mysql.connectordb=mysql.connector.connect(host="your host", user="your username",password="yourpassword",database="database_name")cursor=db.cursor()#insert a แถวใหม่ใน tablequery="INSERT INTO Students VALUES(5,“Priya”, “Amritsar”, 90)"cursor.execute(query)db.commit()#print the id of the inserted rowprint(cursor.lastrowid)db .close()

ผลลัพธ์

5