কম্পিউটার

MySQL AUTO_INCREMENT উদাহরণ সহ


আসুন আমরা বুঝতে পারি কিভাবে ATUO_INCREMENT কাজ করে −

AUTO_INCREMENT বৈশিষ্ট্যটি নতুন সারিগুলির জন্য একটি অনন্য পরিচয় তৈরি করতে ব্যবহৃত হয়। আসুন দেখি কিভাবে এই বিবৃতি কাজ করে। তার আগে, নিচের প্রশ্নটি বিবেচনা করুন −

কোয়েরি

টেবিল টেবিলের নাম তৈরি করুন ( id MEDIUMINT NOT NULL AUTO_INCREMENT, নাম CHAR(30) NOT NULL, প্রাথমিক কী (id)); টেবিলের নাম (নাম) মানগুলিতে সন্নিবেশ করুন('val1'),('val2'),('val3 '),('val4'); টেবিলের নাম থেকে * নির্বাচন করুন;

আউটপুট

<প্রে>+----+---------+| আইডি | নাম |+---+---------+| 1 | val1 || 2 | val2 || 3 | val3 || 4 | val4 |+----+---------+

উপরের ক্যোয়ারীতে, 'AUTO_INCREMENT' কলামের জন্য কোন মান নির্দিষ্ট করা হয়নি, তাই MySQL 'id' কলামে স্বয়ংক্রিয়ভাবে সংখ্যার একটি ক্রম বরাদ্দ করেছে। 0 এর একটি মানও স্পষ্টভাবে বরাদ্দ করা যেতে পারে যাতে সংখ্যার ক্রমটি 0 থেকে শুরু হয়। এটি শুধুমাত্র তখনই করা যেতে পারে যখন 'শূন্যের উপর কোনো স্বয়ংক্রিয় মান নেই' SQL মোড সক্ষম না থাকে।

  • যদি একটি কলামকে 'NOT NULL' হিসাবে ঘোষণা করা হয়, তাহলে সংখ্যার একটি ক্রম তৈরি করতে সেই কলামে NULL বরাদ্দ করা সম্ভব৷

  • যখন কোনো মান একটি AUTO_INCREMENT কলামে ঢোকানো হয়, তখন কলামটি সেই মানটিতে সেট হয়ে যায় এবং ক্রমটিও রিসেট হয়ে যায় যাতে এটি স্বয়ংক্রিয়ভাবে মানগুলি তৈরি করে, সবচেয়ে বড় কলামের মান থেকে অনুক্রমিক পরিসরে৷

  • একটি বিদ্যমান 'AUTO_INCREMENT' কলাম আপডেট করা যেতে পারে যা 'AUTO_INCREMENT' ক্রমটিকেও পুনরায় সেট করবে৷

  • সবচেয়ে সাম্প্রতিক স্বয়ংক্রিয়ভাবে তৈরি ‘AUTO_INCREMENT; SQL-এ ‘LAST_INSERT_ID()’ ফাংশন ব্যবহার করে বা ‘mysql_insert_id()’ ব্যবহার করে মান পুনরুদ্ধার করা যেতে পারে যা একটি C API ফাংশন।

  • এই ফাংশনগুলি সংযোগ-নির্দিষ্ট, যার অর্থ হল তাদের রিটার্ন মান অন্যান্য সংযোগ দ্বারা প্রভাবিত হয় না যা সন্নিবেশ ক্রিয়া সম্পাদন করে৷

  • 'AUTO_INCREMENT' কলামের জন্য ক্ষুদ্রতম পূর্ণসংখ্যা ডেটা টাইপ ব্যবহার করা যেতে পারে, যা ব্যবহারকারীর জন্য প্রয়োজনীয় সর্বাধিক ক্রম মান ধরে রাখতে যথেষ্ট বড় হবে৷

  • যখন কলামটি ডেটা টাইপের উপরের পরিসরে পৌঁছে, তখন সংখ্যার একটি ক্রম তৈরি করার জন্য আরেকটি প্রচেষ্টা করা হয়। কিন্তু এটি ব্যর্থ হয়৷

অত:পর, সম্ভব হলে আনসাইনড অ্যাট্রিবিউট ব্যবহার করুন যাতে AUTO_INCREMENT কলামে মানগুলির একটি বড় পরিসরের অনুমতি দেওয়া যায়৷


  1. MySQL এর সাথে কলামের মান পরিবর্তন করছেন?

  2. ডিফল্ট 0000-00-00 সহ MySQL datetime কলাম তৈরি করবেন?

  3. MySQL এ NULL সারির সাথে কলাম গুন করছেন?

  4. MySQL-এ AUTO_INCREMENT কলামগুলির সাথে কাজ করা