কম্পিউটার টিউটোরিয়াল

Python দিয়ে MySQL-এ INSERT করার পর অবশেষে যোগ করা ID পাওয়া

MySQL-এ ডেটা INSERT স্টেটমেন্ট দিয়ে টেবিলে যোগ করা হয়। শেষে যোগ করা রোয়ের ID পেতে lastrowid ব্যবহার করা হয়। এটি একটি স্পেশাল কীওয়ার্ড যা শেষ ইনসার্ট করা রোয়ের ID রিটার্ন করে। তবে এর জন্য দুটি শর্ত পূরণ করতে হয়:

  • ID কলামটি টেবিলের প্রাইমারি কি হতে হবে
  • ID কলামটি AUTO_INCREMENT হতে হবে

সিনট্যাক্স

cursor.lastrowid

এখানে cursor হলো কার্সার অবজেক্ট।

Python-এ MySQL ব্যবহার করে ইনসার্ট করা রোয়ের ID পাওয়ার ধাপসমূহ

  1. MySQL কনেক্টর ইম্পোর্ট করুন
  2. connect() ব্যবহার করে কনেকশন স্থাপন করুন
  3. cursor() মেথড দিয়ে কার্সার অবজেক্ট তৈরি করুন
  4. টেবিলে রো ইনসার্ট করার কোয়েরি তৈরি করুন
  5. execute() মেথড দিয়ে SQL কোয়েরি এক্সিকিউট করুন
  6. lastrowid ব্যবহার করে ইনসার্ট করা রোয়ের ID পান
  7. কনেকশন বন্ধ করুন

ধরুন 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
  1. Java ব্যবহার করে MySQL ডেটাবেসে ডেটা ইনসার্ট করা (JDBC)

  2. JDBC ব্যবহার করে MySQL ডেটাবেসে ফাইল ইনসার্ট/স্টোর কীভাবে করবেন?

  3. Python ব্যবহার করে একটি শহরের দ্রাঘিমাংশ এবং অক্ষাংশ কীভাবে পাবেন?

  4. পাইথন ব্যবহার করে পয়েন্ট সেটের কেন্দ্র বের করার পদ্ধতি