MySQL-এ সিকোয়েন্স কী? (What is Sequence in MySQL?)
MySQL-এ সিকোয়েন্স বলতে ১ বা ০ (যদি স্পেসিফাই করা থাকে) থেকে শুরু হওয়া আরোহী ক্রমের ইন্টিজার লিস্টকে বোঝায়। অনেক অ্যাপ্লিকেশনকে ইউনিক নম্বর জেনারেট করার জন্য সিকোয়েন্স দরকার হয় (বিশেষ করে আইডেন্টিফিকেশনের জন্য)।
উদাহরণ
- CRM-এ কাস্টমার ID
- HR-এ এমপ্লয়ি নম্বর
- সার্ভিস ম্যানেজমেন্ট সিস্টেমে ইকুইপমেন্ট নম্বর
MySQL-এ সিকোয়েন্স স্বয়ংক্রিয়ভাবে তৈরি করতে কলামের জন্য AUTO_INCREMENT অ্যাট্রিবিউট সেট করুন। এটি সাধারণত প্রাইমারি কি কলাম হয়।
নিয়মাবলী
- প্রতিটি টেবিলে শুধু একটি
AUTO_INCREMENTকলাম থাকে (সাধারণত ইন্টিজার টাইপ)। AUTO_INCREMENTকলাম ইনডেক্সড হতে হবে (PRIMARY KEY বা UNIQUE ইনডেক্স)।AUTO_INCREMENTকলামেNOT NULLকনস্ট্রেইন্ট থাকতে হবে।AUTO_INCREMENTঅ্যাট্রিবিউট সেট করলে MySQL অটোমেটিক্যালিNOT NULLকনস্ট্রেইন্ট যোগ করে।
MySQL সিকোয়েন্স তৈরি
CREATE TABLE tableName (
emp_no INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50)
)
AUTO_INCREMENT কলাম কীভাবে কাজ করে
AUTO_INCREMENTকলামের স্টার্টিং ভ্যালু সাধারণত ১। NULL ইনসার্ট করলে বা INSERT স্টেটমেন্টে ভ্যালু ওমিট করলে ১ করে বেড়ে।- লাস্ট জেনারেটেড সিকোয়েন্স নম্বর পাওয়ার জন্য
LAST_INSERT_ID()ফাংশন ব্যবহার করুন। - লাস্ট জেনারেটেড সিকোয়েন্স সেশনগুলোর মাঝপথে ইউনিক।
- অন্য কানেকশন সিকোয়েন্স নম্বর জেনারেট করলে সেটিও
LAST_INSERT_ID()দিয়ে পাওয়া যায়। - নতুন সারি ইনসার্ট করলে সিকোয়েন্স কলামে ভ্যালু স্পেসিফাই করলে, MySQL নিশ্চিত করে যে সিকোয়েন্স নম্বর কলামে না থাকলে সেটি ইনসার্ট করবে।