MySQL-এ ডেটা INSERT স্টেটমেন্ট দিয়ে টেবিলে যোগ করা হয়। শেষে যোগ করা রোয়ের ID পেতে lastrowid ব্যবহার করা হয়। এটি একটি স্পেশাল কীওয়ার্ড যা শেষ ইনসার্ট করা রোয়ের ID রিটার্ন করে। তবে এর জন্য দুটি শর্ত পূরণ করতে হয়:
- ID কলামটি টেবিলের প্রাইমারি কি হতে হবে
- ID কলামটি AUTO_INCREMENT হতে হবে
সিনট্যাক্স
cursor.lastrowid
এখানে cursor হলো কার্সার অবজেক্ট।
Python-এ MySQL ব্যবহার করে ইনসার্ট করা রোয়ের ID পাওয়ার ধাপসমূহ
- MySQL কনেক্টর ইম্পোর্ট করুন
connect()ব্যবহার করে কনেকশন স্থাপন করুনcursor()মেথড দিয়ে কার্সার অবজেক্ট তৈরি করুন- টেবিলে রো ইনসার্ট করার কোয়েরি তৈরি করুন
execute()মেথড দিয়ে SQL কোয়েরি এক্সিকিউট করুনlastrowidব্যবহার করে ইনসার্ট করা রোয়ের ID পান- কনেকশন বন্ধ করুন
ধরুন Students টেবিল:
+--------+---------+-----------+------------+
| id | Name | City | Marks |
+--------+---------+-----------+------------+
| 1 | Karan | Amritsar | 95 |
| 2 | Sahil | Amritsar | 93 |
| 3 | Kriti | Batala | 88 |
| 4 | Amit | Delhi | 90 |
+--------+---------+-----------+------------+
উদাহরণ
উপরের টেবিলে ID প্রাইমারি কি এবং অটো-ইনক্রিমেন্ট। নতুন একটি রো ইনসার্ট করব এবং তার 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