কম্পিউটার

কিভাবে অন্য টেবিল থেকে একটি MAX মান ব্যবহার করে MySQL AutoIncrement রিসেট করবেন?


আপনি অন্য টেবিল থেকে একটি MAX মান ব্যবহার করে MySQL AutoIncrement রিসেট করার জন্য প্রস্তুত বিবৃতি ব্যবহার করতে পারেন।

নিচের সিনট্যাক্স −

সেট করুন @anyVariableName1=(yourTableName1 থেকে MAX(yourColumnName) নির্বাচন করুন);SET @anyVariableName2 =CONCAT('ALTER TABLE yourTableName2AUTO_INCREMENT=', @anyVariableName1);প্রস্তুত করুন আপনার স্টেটমেন্টেরনাম 1 

উপরের সিনট্যাক্স অন্য টেবিল থেকে সর্বোচ্চ মান ব্যবহার করে MySQL auto_increment রিসেট করবে। উপরের সিনট্যাক্স বোঝার জন্য, আসুন দুটি টেবিল তৈরি করি। প্রথম টেবিলে রেকর্ড থাকবে এবং দ্বিতীয় টেবিলটি প্রথম টেবিল থেকে সর্বোচ্চ মান ব্যবহার করবে এবং একটি স্বয়ংক্রিয়_বৃদ্ধি বৈশিষ্ট্যের জন্য ব্যবহার করবে।

একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -

mysql> সারণি তৈরি করুন FirstTableMaxValue -> ( -> MaxNumber int -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.64 সেকেন্ড)

সন্নিবেশ কমান্ড ব্যবহার করে টেবিল থেকে রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -

mysql> FirstTableMaxValue মান (100) এ ঢোকান; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.15 সেকেন্ড) mysql> FirstTableMaxValue মানগুলিতে ঢোকান 2000); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.12 সেকেন্ড) mysql> FirstTableMaxValue মানগুলিতে ঢোকান(90); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.15 সেকেন্ড)mysql> FirstTableMaxValue মানগুলিতে ঢোকান (2500); কোয়েরি OK, 1 সারি 0.17 সেকেন্ড)mysql> FirstTableMaxValue মান (2300); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.12 সেকেন্ড)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন।

প্রশ্নটি নিম্নরূপ -

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

আউটপুট

<প্রে>+------------+| সর্বোচ্চ নম্বর |+------------+| 100 || 1000 || 2000 || 90 || 2500 || 2300 |+----------+6 সারি সেটে (0.05 সেকেন্ড)

এখন আপনি একটি দ্বিতীয় টেবিল তৈরি করতে পারেন। একটি দ্বিতীয় টেবিল তৈরি করার জন্য ক্যোয়ারী নিম্নরূপ -

mysql> টেবিল AutoIncrementWithMaxValueFromTable তৈরি করুন -> ( -> ProductId int null auto_increment নয়, -> প্রাথমিক কী(ProductId) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (1.01 সেকেন্ড)

এখানে আমি একটি বিবৃতি অন্তর্ভুক্ত করতে যাচ্ছি যা প্রথম টেবিল থেকে সর্বাধিক মান পাবে এবং দ্বিতীয় টেবিলের জন্য একটি স্বয়ংক্রিয়_বৃদ্ধি বৈশিষ্ট্যে সর্বাধিক মান সেট করবে। প্রশ্নটি নিম্নরূপ -

mysql> সেট করুন @v=(FirstTableMaxValue থেকে MAX(MaxNumber) নির্বাচন করুন);কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড)mysql> SET @Value2 =CONCAT('ALTER TABLE AutoIncrementWithMaxValueFromTableAUTO_INC, @OKRE); , 0 সারি প্রভাবিত (0.00 সেকেন্ড)mysql> @value2 থেকে আমার স্টেটমেন্ট প্রস্তুত করুন; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত হয়েছে (0.29 সেকেন্ড) স্টেটমেন্ট প্রস্তুত mysql> myStatement চালান; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.38 সেকেন্ড)Drecords:0 Records:0 0

এখন আমরা সর্বাধিক মান যোগ করেছি যা প্রথম টেবিল থেকে দ্বিতীয় টেবিলে 2500। এখন আপনি সারণীতে রেকর্ড সন্নিবেশ করতে পারেন যা 2500, 2501 এবং এর থেকে শুরু হয়৷

দ্বিতীয় সারণীতে রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী নিম্নরূপ -

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

সিলেক্ট কমান্ড ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড চেক করুন। প্রশ্নটি নিম্নরূপ -

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

আউটপুট

<প্রে>+------------+| পণ্যের আইডি |+------------+| 2500 || 2501 |+----------+2 সারি সেটে (0.00 সেকেন্ড)
  1. কিভাবে MySQL এ এক টেবিল থেকে অন্য সারি কপি করবেন?

  2. মাইএসকিউএল-এ রেফারেন্স হিসাবে অন্য টেবিল থেকে শুধুমাত্র স্ট্রিং ব্যবহার করে কীভাবে একটি টেবিলে একটি সারি যুক্ত করবেন?

  3. অন্য টেবিল থেকে মান ব্যবহার করে INSERT INTO জন্য MySQL ক্যোয়ারী?

  4. মাইএসকিউএল ডাটাবেসের অন্য টেবিল থেকে আইডি ব্যবহার করে ব্যবহারকারীর নাম কীভাবে পাবেন?