কম্পিউটার

মাইএসকিউএল-এ অটো ইনক্রিমেন্ট আইডি কলামের ফ্র্যাগমেন্টেশন কীভাবে পরিচালনা করবেন?


যখনই আমরা পুনরায় সংখ্যা করি, সেখানে একটি সমস্যা হতে পারে। একটি কলামের জন্য একটি অনন্য আইডি ঘোষণা করতে হবে৷

MySQL সংস্করণ 5.6 InnoDB-এ, আমরা একটি INSERT বিবৃতিতে ID কলাম অন্তর্ভুক্ত করে auto_increment ID পুনরায় ব্যবহার করতে পারি এবং আমরা যে কোনো নির্দিষ্ট মান দিতে পারি।

পরিস্থিতি নিম্নরূপ -

  • যখনই আমরা সর্বোচ্চ নম্বরের আইডি মুছে ফেলি
  • যখনই আমরা মাইএসকিউএল সার্ভার শুরু করি এবং বন্ধ করি
  • যখনই আমরা একটি নতুন রেকর্ড সন্নিবেশ করি

অটো_ইনক্রিমেন্ট ভেরিয়েবল ব্যবহার করে আইডি অটো ইনক্রিমেন্টের উদাহরণ।

mysql> টেবিল তৈরি করুন UniqueAutoId -> ( -> id int auto_increment, -> Unique(id) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.45 সেকেন্ড)

টেবিলে রেকর্ড সন্নিবেশ করা হচ্ছে।

mysql> UniqueAutoId মানগুলিতে ঢোকান();কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.13 সেকেন্ড)mysql> UniqueAutoId মানগুলিতে ঢোকান কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.07 সেকেন্ড)mysql> UniqueAutoId মানগুলিতে ঢোকান(); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.10 সেকেন্ড)mysql> UniqueAutoId মানগুলিতে ঢোকান(); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.10 সেকেন্ড) 

সমস্ত রেকর্ড প্রদর্শন করা হচ্ছে৷

mysql> UniqueAutoId থেকে *নির্বাচন করুন;

নিচের আউটপুট।

<প্রে>+----+| আইডি |+----+| 1 || 2 || 3 || 4 || 5 |+----+5 সারি সেটে (0.00 সেকেন্ড)

রেকর্ড মুছে ফেলার জন্য, আমরা DELETE স্টেটমেন্ট ব্যবহার করেছি। এখানে, আমরা id=5;

মুছে দিচ্ছি
mysql> UniqueAutoId থেকে মুছুন যেখানে id=5; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.14 সেকেন্ড)

সমস্ত রেকর্ড প্রদর্শন করা হচ্ছে৷

mysql> UniqueAutoId থেকে *নির্বাচন করুন;

নিচের আউটপুট।

<প্রে>+----+| আইডি |+----+| 1 || 2 || 3 || 4 |+----+4 সারি সেটে (0.00 সেকেন্ড)

আসুন আমরা আবার টেবিল থেকে একটি রেকর্ড মুছে ফেলি।

mysql> UniqueAutoId থেকে মুছুন যেখানে id=2; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.15 সেকেন্ড)

আবার, টেবিল থেকে রেকর্ড প্রদর্শন করা হচ্ছে।

mysql> UniqueAutoId থেকে *নির্বাচন করুন;

নিচের আউটপুট।

<প্রে>+----+| আইডি |+----+| 1 || 3 || 4 |+----+3 সারি সেটে (0.00 সেকেন্ড

উপরের ফলাফলগুলি খণ্ডিত হয়৷


  1. কিভাবে MySQL এ একটি কলাম বিভক্ত করবেন?

  2. একটি মাইএসকিউএল টেবিল থেকে ডেটা মুছে ফেলার পরে 1 দিয়ে কীভাবে স্বয়ংক্রিয়ভাবে বৃদ্ধি পাবে?

  3. মাইএসকিউএল-এ প্রাথমিক মান এবং স্বয়ংক্রিয় বৃদ্ধি কীভাবে সেট করবেন?

  4. কিভাবে একটি MySQL সিকোয়েন্স তৈরি করবেন?