মাইএসকিউএল এ কীভাবে পুনরায় সেট করবেন?


1244

আমি কিভাবে করতে রিসেটAUTO_INCREMENT একটি ক্ষেত্রের?
আমি এটি 1আবার থেকে গণনা শুরু করতে চান ।



80
আপনি সম্ভবত টেবিলটি খালি করতে TRUNCATE TABLE yourTableName;
চাইবেন


3
হ্যাঁ, এই ক্ষেত্রে কাটা টেবিল সবচেয়ে ভাল। এটি অটো বর্ধন
শুরুটি

2
কখনও কখনও আপনার ট্রানসেট করার অনুমতি নেই কারণ এর জন্য ড্রপ অনুমতি দরকার।
লুক কাজিন্স

উত্তর:


2024

আপনি এর সাথে কাউন্টারটি পুনরায় সেট করতে পারেন:

ALTER TABLE tablename AUTO_INCREMENT = 1

InnoDB- এর জন্য আপনি auto_incrementমানটি বর্তমানের বর্তমান সূচকের চেয়ে কম বা সমান সেট করতে পারবেন না । ( ভাইরালপ্যাটেলের উদ্ধৃতি ):

নোট করুন যে আপনি ইতিমধ্যে ব্যবহৃত হয়েছে তার চেয়ে কম বা সমান মানতে কাউন্টারটিকে পুনরায় সেট করতে পারবেন না। মাইআইএসএএম এর জন্য, মানটি বর্তমানে অটোপ্রেমসেন্ট কলামে সর্বাধিক মানের চেয়ে কম বা সমান হলে মানটি বর্তমানের সর্বোচ্চ প্লাস একটিতে পুনরায় সেট করা হয় reset InnoDB- এর জন্য, মানটি কলামে বর্তমান সর্বাধিক মানের চেয়ে কম হলে কোনও ত্রুটি ঘটে না এবং বর্তমান ক্রম মানটি পরিবর্তন করা হয় না।

অন্য টেবিল থেকে একটি ম্যাক্স মান ব্যবহার করে একটি মাইএসকিউএল অটোআইক্রেনমেন্ট কীভাবে পুনরায় সেট করবেন দেখুন ? কীভাবে গতিশীলভাবে একটি গ্রহণযোগ্য মান পাবেন on


8
এটি ভরাট টেবিলে চিরকালের জন্য নিতে পারে। এটির
বিটি

52
এটি একটিcircular reference
বেসনিক

5
আপনি কি বলতে চাইছেন curcular reference?
নীলস

73
মনে রাখবেন যে মাইএসকিউএল একই কাঠামো এবং নতুন অটো_সংশোধনের মান সহ একটি নতুন টেবিল তৈরি করবে এবং মূল টেবিল থেকে সমস্ত রেকর্ড অনুলিপি করবে, আসলটি ফেলে দেবে এবং নতুনটির নামকরণ করবে। টেবিলটি বড় হলে উত্পাদন পরিবেশে এটির যথেষ্ট পারফরম্যান্স প্রভাব (এবং ডিস্ক স্পেস) থাকতে পারে।
রোস্টল

6
আপনার যদি ইতিমধ্যে একটি স্বতঃসংশ্লিষ্ট কলাম থাকে তবে কি এই সর্বোচ্চ ভোট দেওয়া উত্তরটি সত্যই কার্যকর হয়? মাইএসকিউএল 5.1 ডক্স অনুসারে: "আপনি কাউন্টারটি ইতিমধ্যে ব্যবহৃত সামগ্রীর চেয়ে কম বা সমান মানতে রিসেট করতে পারবেন না My মানটি সর্বাধিক সর্বোচ্চ প্লাস একটিতে পুনরায় সেট করা হয় In InnoDB এর জন্য, কলামে মানটি যদি সর্বাধিক সর্বাধিক মানের চেয়ে কম হয় তবে কোনও ত্রুটি হয় না এবং বর্তমান ক্রম মানটি পরিবর্তন হয় না। " স্বায়ত্তশাসন ১ এর চেয়ে বেশি হলে এখানে কিছুই ঘটবে না বলে মনে হচ্ছে
মুক্তিদাতা

159
ALTER TABLE tablename AUTO_INCREMENT = 1

7
আপনার উত্তর এবং পূর্ববর্তী উত্তরের মধ্যে পার্থক্য কি আমি জানতে পারি
প্রবীণ শ্রীনিবাসন

30
@ প্রবীণস্রিনিবাসন কোনও পার্থক্য নেই, আমরা তাদের একই সময়ে যোগ করেছি
বুবিক

79
ব্যক্তিগতভাবে, আমি এটি একটি সুন্দর জিনিস বলে মনে করি যে AUTO_INCREMENT প্রশ্নের জন্য এই দুটি উত্তরের একটি সামঞ্জস্য সংঘর্ষ হয়েছিল :-)
০১:২৮ এ মার্ক গোল্ডফেইন

@ মার্ক গল্ডফাইন হ্যাঁ এটি!
এনসি কম্পিউটারগুলি


81
SET  @num := 0;

UPDATE your_table SET id = @num := (@num+1);

ALTER TABLE your_table AUTO_INCREMENT =1;

আমি মনে করি এটি এটি করবে


2
এই প্রশ্নের ইতিমধ্যে একটি উপযুক্ত উত্তর রয়েছে। আরও, আপনার কলামে UPDATEসমস্ত মান আপডেট করা হবে id
কেরমিট 16

2
ওপিতে উল্লেখ করা হয়নি যে তারা বিদ্যমান সারিগুলি পুনরায় অর্ডার করছে।
কেরমিট

সম্পূর্ণ এবং নিখুঁত উত্তর। তবে আমার সন্দেহ আছে যে যখন আমরা একটি নতুন মান সন্নিবেশ করানো হয় তখন সেই মানটির পিকে কী হবে। এটি 1 বা পরবর্তী পিকে কিনা?
প্রিয়ুলনাথ

হ্যাঁ এটি সর্বোত্তম সমাধান, তবে আপনি যদি
টেক্সটগুলি

খুব সহায়ক, আমার একই প্রয়োজনীয়তা ছিল যেখানে আমাকে 1 দিয়ে শুরু করতে অটো-ইনক্রিমেন্টটি পুনরায় সেট করতে হয়েছিল, কেবল প্রথম দুটি কমান্ড সাহায্য করেছিল।
লোকেন্দ্র


40

এখানে চিত্র বর্ণনা লিখুন"অপারেশনস" ট্যাবের অধীনে পিএইচপিএমইডমিন সহ একটি খুব সহজ উপায় রয়েছে, আপনি সারণী বিকল্পগুলিতে, নিজের পছন্দ মতো সংখ্যায় স্বনির্ধারণ করতে পারেন।


এর ঠিক পরে আপনাকে মাইএসকিএল পরিষেবা / সার্ভারটি পুনরায় চালু করতে হবে।
সাইবার

1
আমি মনে করি না এর পরে আপনার নিজের সার্ভারটি পুনরায় চালু করতে হবে। পিএইচপিএডমিন কেবল ইনক্রিমেন্ট স্টার্ট পয়েন্ট পরিবর্তন করার জন্য কমান্ড চালাবে।
কেরেম

আপনাকে পুনঃসূচনা করার দরকার নেই, এটি পরবর্তী সন্নিবেশ থেকে কার্যকর হয়।
IlludiumPu36

36

আমার পক্ষে সবচেয়ে ভাল সমাধানটি কাজ করেছে:

ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED;
COMMIT;
ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED AUTO_INCREMENT;
COMMIT;

এর দ্রুত, নির্দোষ ডিবি এর সাথে কাজ করে এবং আমার বর্তমান সর্বাধিক মান জানার দরকার নেই! এইভাবে অটো ইনক্রিমেন্ট কাউন্টারটি পুনরায় সেট হবে এবং এটি সর্বাধিক মান বিদ্যমান থেকে স্বয়ংক্রিয়ভাবে শুরু হবে।


1
এটি তথ্য_সেমায় নুল অটো-ইনক মান নির্ধারণ করবে; চেকSELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = 'my_table' AND table_schema = DATABASE( ) ;
কে-গান

1
আমি 5.6.x সংস্করণে পরীক্ষা করেছি এবং এটি পুরোপুরি কাজ করেছে এবং কেরেম গেনিয়ের ক্যোয়ারী সর্বাধিক মান প্লাস এক ফিরিয়ে দিয়েছে, যা বলা হয়েছে তা বাতিল নয়। (সম্ভবত এটি প্রথম ক্যোয়ারির পরে বাতিল হয়ে গেছে, তবে এটি দ্বিতীয় ক্যোয়ারির পরে নয়) আমি বিশ্বাস করি এটি ইনোডিবি-র সেরা সমাধান solution
ফ্র্যাঙ্ক ফোর্ট

নির্ধারিত সুস্পষ্ট মান হিসাবে একই: "একই কাঠামো এবং নতুন অটো_সংশোধনের মান সহ একটি নতুন টেবিল তৈরি করুন এবং মূল টেবিল থেকে সমস্ত রেকর্ড অনুলিপি করুন, আসলটি ফেলে দিন এবং নতুনটির নাম পরিবর্তন করুন This এটির যথেষ্ট কার্যকারিতা প্রভাব থাকতে পারে (এবং ডিস্ক স্পেস) টেবিলটি বড় হলে উত্পাদন পরিবেশে " তবে আরও খারাপ কারণ দুটি বার সম্পূর্ণ অনুলিপি টেবিলের প্রয়োজন।
এনাইবি

আমি যাচাই করেছি যে এটি সংস্করণে কাজ করে 5.6.15, যেখানে নাALTER TABLE tablename AUTO_INCREMENT = 1
নায়ে

24

এই প্রশ্নের সর্বাধিক রেট দেওয়া উত্তরগুলি সমস্তই "আপনার নিজের টেবিল AUTO_INCREMENT = মান" বাছাইয়ের প্রস্তাব দেয়। যাইহোক, এটি কেবল তখনই কাজ করে যখন valueঅলটারে স্বতঃসংশোধনের কলামের বর্তমান সর্বাধিক মানের চেয়ে বেশি হয়। মাইএসকিউএল 8 ডকুমেন্টেশন অনুসারে :

আপনি বর্তমানে ব্যবহার করা মানের চেয়ে কম বা সমান কোনও মানটিতে কাউন্টারটিকে পুনরায় সেট করতে পারবেন না। ইনোডিবি এবং মাইআইএসএএম উভয়ের জন্য, যদি মানটি বর্তমানে অটোপ্রেমেন্ট কলামে সর্বাধিক মানের চেয়ে কম বা সমান হয় তবে মানটি বর্তমান সর্বাধিক AUTO_INCREMENT কলাম মান প্লাস ওয়ানটিতে পুনরায় সেট করা হয়।

সংক্ষেপে, ওপি প্রশ্নের দ্বিতীয় অংশে যেমন জিজ্ঞাসা করে, আপনি কেবলমাত্র স্বতঃসংশোধের কলামটির মান বাড়ানোর জন্য এটি AUTO_INCREMENT পরিবর্তন করতে পারবেন 1 অপশনগুলির জন্য যা আপনাকে প্রকৃতপক্ষে বর্তমানের সর্বোচ্চ থেকে অটোপরিবর্তনকে নীচের দিকে সেট করতে দেয়, পুনরায় অর্ডার / পুনরায় সেট করুন স্বয়ংক্রিয় বর্ধিত প্রাথমিক কীটি একবার দেখুন


20

মাইএসকিউএল 5.6 এ কার্যকারিতা পরিবর্তিত হওয়ায় একটি আপডেট যুক্ত করা হচ্ছে। মাইএসকিউএল ৫. of অনুসারে আপনি ইনোডিবি'র সাথে সাধারণ বিকল্প টেবিলে ব্যবহার করতে পারেন:

ALTER TABLE tablename AUTO_INCREMENT = 1;

এটি প্রতিফলিত করতে ডক্স আপডেট করা হয়েছে:

http://dev.mysql.com/doc/refman/5.6/en/alter-table.html

আমার পরীক্ষাটি আরও দেখায় যে টেবিলটি অনুলিপি করা হয়নি, মানটি সহজেই পরিবর্তিত হয়েছে।


19

মাইএসকিউএল অটোয়েনক্রিমেন্ট কলাম কীভাবে রিসেট করা যায় তার জন্য এখানে ভাল বিকল্প দেওয়া আছে

নোট যে InnoDB এর জন্য কাজ ALTER TABLE tablename AUTO_INCREMENT = value;করে না


8
আপনি কীভাবে ইনোডিবি দিয়ে এটি করবেন?
EmptyArsenal

4
MySQL v 5.6.2 ব্যবহার করে আমার জন্য সূক্ষ্ম কাজ করে
এডি বি

আমার একটি অনুরূপ ইস্যু ছিল যেখানে আমি কোনও টেবিল থেকে রেকর্ড মুছে ফেলার পরে একটি স্বয়ংসোধক ক্ষেত্রটি পুনরায় সেট হচ্ছে না। ট্রানসেটটি কাজ করেছে বলে মনে হচ্ছে। আমি মনে করি স্বতঃসিদ্ধকরণ অপসারণ এবং তারপরে পুনরায় প্রয়োগের জন্য নীচের সমাধানগুলি এটিকে হ্রাস করতে সহায়তা করতে পারে।
ক্রেগ মালুনি

@ ক্রেইগমালোনি - DELETE(বা ROLLBACK) আইডি পুনরুদ্ধার করবে না। একটি ব্যতিক্রম: পুনঃসূচনা (বা ক্র্যাশ) পরে, পরবর্তী আইডি গণনা করা হয় MAX(id)+1, ফলস্বরূপ কার্যকরভাবে শেষে মোছা আইডিগুলি পুনরুদ্ধার করা । ব্যতিক্রম ব্যতীত: মাইএসকিউএল 8.0 এই আইডিগুলিকে অব্যবহৃত রাখে।
রিক জেমস

12
ALTER TABLE news_feed DROP id

ALTER TABLE news_feed ADD  id BIGINT( 200 ) NOT NULL AUTO_INCREMENT FIRST ,ADD PRIMARY KEY (id)

আমি এটি আমার কয়েকটি স্ক্রিপ্টগুলিতে ব্যবহার করেছি, আইডি ফিল্ডটি ফেলে দেওয়া হয় এবং তারপরে পূর্ববর্তী সেটিংস সহ আবার যুক্ত করা হয়, ডাটাবেস টেবিলের মধ্যে থাকা সমস্ত বিদ্যমান ক্ষেত্রগুলি নতুন অটো ইনক্রিমেন্ট মান সহ পূর্ণ হয়, এটিও InnoDB এর সাথে কাজ করা উচিত।

নোট করুন যে টেবিলের মধ্যে থাকা সমস্ত ক্ষেত্রগুলি পুনরায় গণনা করা হবে এবং এতে অন্যান্য আইডি থাকবে !!!


3
আমি এই জাতীয় কিছু পেতে চাই! তবে অতিরিক্ত সতর্কতা হিসাবে; এটি স্পষ্টতই আপনার বিদেশী কীগুলি ভঙ্গ করবে।
NoobishPro

12

আপনি সিনট্যাক্স TRUNCATEটেবিলটি এর মতো ব্যবহার করতে পারেন : TRUNCATE TABLE table_name

সাবধান থাকুন !! আপনার সবকিছু মুছেTRUNCATE TABLE your_table ফেলবে !!your_table


14
নতুন প্রোগ্রামারগণ , সচেতন থাকুন যা নির্দিষ্ট টেবিলে আপনার সমস্ত সারিও মুছেTRUNCATE ফেলবে !
জাংশিন 13

1
উপরের মন্তব্যটি উত্তরে ,োকানো উচিত, বা কমপক্ষে প্রকৃত ব্যবহার সম্পর্কে কমপক্ষে একটি ব্যাখ্যা।
লুকাস কাউজ

TRUNCATEauto_incrementক্ষেত্রগুলিও আবার রিসেট করবে ? আমার ব্যবহারের ক্ষেত্রেটি হ'ল টেবিলের পুরানো ডেটা সাফ করা এবং নতুন ডেটার জন্য আবার 1 থেকে আইডি শুরু করা (কল্পনা করুন, পরীক্ষার পরে সঠিক ব্যবহারের জন্য টেবিল সাফ করার পরে)। আমি ভেবেছিলাম আমার আবার DROPপুরো টেবিলটি রাখা উচিত CREATE
এডিটিসি

হ্যাঁ, ট্র্যাঙ্কেট টেবিলে রিসেটের মতো কাজ করে। এটি পুরোপুরি সত্য নয় যদি কোনও টেবিল তৈরির পরে থেকে পরিবর্তিত করা হয় তবে সেই পরিবর্তনগুলি পুনরায় সেট করা হবে না। আমি মনে করি এটি সারণীর কাঠামো রফতানি করার সাথে এবং এক্সপোর্টকে একটি রিসেটের চেয়ে নতুন টেবিল তৈরি করতে ব্যবহার করছে।
ক্রিস

হ্যাঁ @ এডটিসি। আপনি যদি বর্তমান মান রাখতে চান তবে পরিবর্তে auto_incrementব্যবহার DELETE FROMকরুন TRUNCATE
ট্রিগ

8

এটি খালি টেবিলের জন্য:

ALTER TABLE `table_name` AUTO_INCREMENT = 1;

আপনার যদি ডেটা থাকে তবে আপনি এটি পরিষ্কার করতে চান, আমি এটি ব্যবহার করার পরামর্শ দিচ্ছি:

ALTER TABLE `table_name` DROP `auto_colmn`;
ALTER TABLE `table_name` ADD  `auto_colmn` INT( {many you want} ) NOT NULL AUTO_INCREMENT FIRST ,ADD PRIMARY KEY (`auto_colmn`);

এটি ব্যবহার করা সহজ
আব্দুল আজিজ আল বাসায়ির

এটি ডেটা সহ আমাদের পক্ষে কাজ করেছিল। এটি পরবর্তী সূচীতে সারিটি পুনরায় সেট করে। ধন্যবাদ!
ঝাঁকুনির


5

এখানে আমার সমাধানটি দেওয়া আছে, তবে যদি আপনার কলামে বাধা থাকে বা অন্য টেবিলের সাথে বিদেশী কী হিসাবে সংযুক্ত থাকে তবে এর খারাপ প্রভাব ফেলবে বা এমনকি কাজ করবে না আমি এগুলি করার পরামর্শ দেব না।

> প্রথম: কলামটি ফেলে দিন

ALTER TABLE tbl_name DROP COLUMN column_id

> দ্বিতীয়: কলামটি পুনরায় তৈরি করুন এবং এটিকে প্রথম হিসাবে সেট করুন যদি আপনি এটি ধরে নেন প্রথম কলাম হিসাবে মনে করেন।

ALTER TABLE tbl_access ADD COLUMN `access_id` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST

এটি ভাল কাজ করে!


3

মাইএসকিউএল 5.6 হিসাবে অনলাইন ডিডিএল (নোট algorithm=inplace) এর কারণে নীচের পদ্ধতিটি দ্রুত কাজ করে :

alter table tablename auto_increment=1, algorithm=inplace;



1

আমি টেবিলটি পরিবর্তন করার চেষ্টা করেছি এবং 1-এ অটো_সিত্ত্র সেট করেছিলাম তবে এটি কার্যকর হয়নি। আমি কলামের নামটি বৃদ্ধি করার জন্য মুছে ফেলার সংকল্প করেছি, তারপরে আপনার পছন্দসই নামটি দিয়ে একটি নতুন কলাম তৈরি করুন এবং সেই নতুন কলামটি শুরু থেকে বাড়ানোর জন্য সেট করুন।


আপনি কীভাবে তা ঘটালেন তা ব্যাখ্যা করতে পারবেন?
এম জারাগোজা

@ এমজারাগোজা কেবল পুরানো কলামটি এআইআই নেই এমনটি ফেলে দিন যা এআই সক্ষম করেছে এমন একটি নতুন তৈরি করুন।
অ্যান্ড্রোমদা

আপনি এটি দেখানোর জন্য আপনার উত্তর আপডেট করতে পারেন? আমি সত্যিই এটির প্রশংসা করব
এমজোরাগোজা

1

কোনও টেবিলের জন্য অটো ইনক্রিমেন্ট কাউন্টারটি দুটি উপায়ে সেট করা যেতে পারে:

  1. অন্যদের মতো ইতিমধ্যে ব্যাখ্যা করা মতো একটি কোয়েরি কার্যকর করে:

    ALTER TABLE <table_name> AUTO_INCREMENT=<table_id>;

  2. ওয়ার্কবেঞ্চ বা অন্যান্য ভিজ্যুয়াল ডাটাবেস ডিজাইন সরঞ্জাম ব্যবহার করে। এটি কীভাবে হয় তা আমি ওয়ার্কবেঞ্চে প্রদর্শন করব - তবে এটি অন্য সরঞ্জামেও আলাদা হওয়া উচিত নয়। পছন্দসই টেবিলের উপর ডান ক্লিক করে Alter tableপ্রসঙ্গ মেনু থেকে চয়ন করুন । নীচে আপনি একটি টেবিল পরিবর্তন করার জন্য সমস্ত উপলভ্য বিকল্প দেখতে পাবেন। চয়ন করুন Optionsএবং আপনি এই ফর্ম পাবেন: এখানে চিত্র বর্ণনা লিখুন

    তারপরে Auto incrementচিত্রটিতে প্রদর্শিত ক্ষেত্রটিতে কেবল পছন্দসই মানটি সেট করুন । এটি মূলত প্রথম বিকল্পটিতে প্রদর্শিত ক্যোয়ারিকে সম্পাদন করবে।


0

সর্বশেষ প্লাস ওয়ান আইডি আপডেট করতে

 ALTER TABLE table_name AUTO_INCREMENT = 
 (SELECT (id+1) id FROM table_name order by id desc limit 1);


0

আমি এই প্রশ্নটি গুগল করেছিলাম এবং খুঁজে পেয়েছি তবে আমি যে উত্তরটি সত্যই খুঁজছি তা দুটি মানদণ্ড পূরণ করে:

  1. খাঁটি মাইএসকিউএল অনুসন্ধানগুলি ব্যবহার করে
  2. একটি বিদ্যমান টেবিল স্বতঃবৃদ্ধি সর্বাধিক (আইডি) + 1 এ পুনরায় সেট করুন

যেহেতু আমি এখানে যা চাই ঠিক তা পাই না, তাই আমি বিভিন্ন উত্তর থেকে উত্তরটি এখানে আটকিয়ে রেখেছি।

কয়েকটি বিষয় লক্ষণীয়:

  1. প্রশ্নে সারণীটি ইনোডিবি
  2. সারণী ক্ষেত্র ব্যবহার idযেমন ধরনের সঙ্গে intপ্রাথমিক কী হিসাবে
  3. মাইএসকিউএলে খাঁটিভাবে এটি করার একমাত্র উপায় হ'ল সঞ্চিত পদ্ধতি ব্যবহার করা
  4. নীচের আমার চিত্রগুলি সিকোয়েলপ্রোকে জিইউআই হিসাবে ব্যবহার করছে। আপনার পছন্দসই মাইএসকিউএল সম্পাদকের উপর ভিত্তি করে আপনার এটি মানিয়ে নিতে সক্ষম হওয়া উচিত
  5. আমি এটি ডেবিয়ান-লিনাক্স-গনু-র জন্য মাইএসকিউএল ভার 14.14 ডিস্ট্রিবিভ 5.5.61 এ পরীক্ষা করেছি

পদক্ষেপ 1: সঞ্চিত পদ্ধতি তৈরি করুন

এটির মতো একটি সঞ্চিত পদ্ধতি তৈরি করুন:

DELIMITER //
CREATE PROCEDURE reset_autoincrement(IN tablename varchar(200))
BEGIN

      SET @get_next_inc = CONCAT('SELECT @next_inc := max(id) + 1 FROM ',tablename,';');
      PREPARE stmt FROM @get_next_inc; 
      EXECUTE stmt; 
      SELECT @next_inc AS result;
      DEALLOCATE PREPARE stmt; 

      set @alter_statement = concat('ALTER TABLE ', tablename, ' AUTO_INCREMENT = ', @next_inc, ';');
      PREPARE stmt FROM @alter_statement;
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;
END //
DELIMITER ;

তারপর এটি চালান।

রান করার আগে, আপনি যখন আপনার ডাটাবেসে সঞ্চিত প্রক্রিয়াগুলির অধীনে দেখেন তখন এমনটি দেখাবে।

এখানে চিত্র বর্ণনা লিখুন

আমি যখন রান করি তখন আমি সঞ্চিত পদ্ধতিটি নির্বাচন করি এবং রান সিলেকশনটি চাপতাম

এখানে চিত্র বর্ণনা লিখুন

দ্রষ্টব্য: সীমাবদ্ধকারী অংশটি গুরুত্বপূর্ণ। সুতরাং আপনি যদি এই প্রশ্নের শীর্ষ নির্বাচিত উত্তরগুলি অনুলিপি করে আটকান, তবে তারা এই কারণে কাজ করতে চান না।

আমি চালানোর পরে, আমার সঞ্চিত পদ্ধতিটি দেখতে হবে

এখানে চিত্র বর্ণনা লিখুন

আপনার যদি সঞ্চিত পদ্ধতি পরিবর্তন করতে হয় তবে আপনার সঞ্চিত পদ্ধতিটি মুছতে হবে, তারপরে আবার চালনার জন্য নির্বাচন করুন।

পদক্ষেপ 2: সঞ্চিত পদ্ধতিতে কল করুন

এবার আপনি সাধারণ মাইএসকিউএল কোয়েরিগুলি সহজভাবে ব্যবহার করতে পারেন।

call reset_autoincrement('products');

মূলত https://simkimsia.com/library/sql-queries/#mysql-reset-autoinc এ আমার নিজস্ব এসকিউএল কোয়েরি নোটগুলি থেকে এবং স্ট্যাকওভারফ্লোতে রূপান্তরিত



-1

রান এই দ্য কোয়েরি চেষ্টা করুন

 ALTER TABLE tablename AUTO_INCREMENT = value;

অথবা রিসেট অটো বর্ধনের জন্য এই প্রশ্নের চেষ্টা করুন

 ALTER TABLE `tablename` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL;

এবং অটো বর্ধন সেট করুন তারপরে এই ক্যোয়ারি চালান

  ALTER TABLE `tablename` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;

-2

আমি আপনাকে পরামর্শ ব্রাউজারে গিয়ে নিম্নলিখিতগুলি করার পরামর্শ দিচ্ছি:

  1. স্কিমাতে যান এবং আপনি যে টেবিলটি পরিবর্তন করতে চান তা সন্ধান করুন।
  2. রাইট ক্লিক করুন এবং কপি তৈরি বিবৃতি নির্বাচন করুন।
  3. ফলাফল ট্যাব খুলুন এবং তাদের তৈরি বিবৃতিটি পেস্ট করুন।
  4. তৈরি বিবৃতিটির শেষ লাইনে যান এবং Auto_Increment = N এর সন্ধান করুন (যেখানে এন অটো_সৃজন ক্ষেত্রের জন্য বর্তমান সংখ্যা))
  5. 1 এর সাথে এন প্রতিস্থাপন করুন।
  6. চাপুন ctrl+enter

আপনি একবার সারণিতে নতুন সারিটি প্রবেশ করানোর পরে অটো_সামগ্রীটিকে একটিতে পুনরায় সেট করা উচিত।

আমি জানি না যে আপনি যদি একটি সারি যুক্ত করার চেষ্টা করেন যেখানে একটি অটো_সংশোধন ক্ষেত্রের মানটি ইতিমধ্যে বিদ্যমান।

এই সাহায্য আশা করি!


-2

সেরা উপায় হ'ল এআই সহ ফিল্ডটি সরিয়ে ফেলা এবং এআই সহ এটি আবার যুক্ত করা, সমস্ত টেবিলের জন্য কাজ করে


1
মোটেও সেরা উপায় নয়, একটি কলাম কমে যাওয়া কলামের ডেটা হারাবে
দিশা গোয়াল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.