Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để lấy id sau khi CHÈN vào cơ sở dữ liệu MySQL bằng Python?

Dữ liệu được chèn vào bảng trong Mysql bằng cách sử dụng câu lệnh INSERT. Trong khi chèn dữ liệu vào bảng, dữ liệu phải được cung cấp theo thứ tự như định nghĩa cột trong cơ sở dữ liệu hoặc tên cột phải được cung cấp cùng với dữ liệu khi sử dụng câu lệnh INSERT.

Để lấy và in ID của hàng được chèn cuối cùng, lastrowid được sử dụng. Đây là một từ khóa đặc biệt được sử dụng để lấy ID của hàng được chèn cuối cùng. Có một số điều kiện tiên quyết cần được lưu ý trước khi sử dụng phương pháp này.

  • Cột ID phải là khóa chính trong bảng.

  • Cột ID phải được tăng tự động.

Cú pháp

 cs.lastrowid 

Ở đây, cs là đối tượng con trỏ.

Các bước để lấy id của hàng được chèn trong bảng bằng MySQL trong python

  • nhập trình kết nối MySQL

  • thiết lập kết nối với trình kết nối bằng connect ()

  • tạo đối tượng con trỏ bằng phương thức cursor ()

  • tạo truy vấn để CHÈN một hàng vào bảng

  • thực hiện truy vấn SQL bằng phương thức execute ()

  • lấy ID của hàng được chèn bằng lastrowid.

  • đóng kết nối

Giả sử chúng ta có bảng sau có tên là “Học sinh”.

 + -------- + --------- + ----------- + ------------ + | id | Tên | Thành phố | Dấu | + -------- + --------- + ----------- + ------------ + | 1 | Karan | Amritsar | 95 || 2 | Sahil | Amritsar | 93 || 3 | Kriti | Batala | 88 || 4 | Amit | Delhi | 90 | + -------- + --------- + ----------- + ------------ +  

Ví dụ

Cột ID ở cột trên là khóa chính và tự động tăng dần. Chúng tôi sẽ chèn một hàng mới vào bảng và lấy id của hàng được chèn cuối cùng.

 import mysql.connectordb =mysql.connector.connect (host ="your host", user ="your username", password ="yourpassword", database ="database_name") cursor =db.cursor () # insert a new row into the tablequery ="INSERT INTO Students VALUES (5,“ Priya ”,“ Amritsar ”, 90)" cursor.execute (query) db.commit () # print id của rowprint đã chèn (cursor.lastrowid) db .close () 

Đầu ra

 5