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


288

1001 থেকে শুরু হওয়া মাইএসকিউএল টেবিলের "আইডি" কলামের প্রাথমিক মানটি কীভাবে সেট করব?

আমি একটি সন্নিবেশ করতে চাই "INSERT INTO users (name, email) VALUES ('{$name}', '{$email}')";

আইডি কলামের প্রাথমিক মান উল্লেখ না করে।

উত্তর:


516

এটা ব্যবহার কর:

ALTER TABLE users AUTO_INCREMENT=1001;

অথবা আপনি যদি ইতিমধ্যে কোনও আইডি কলাম যুক্ত না করে থাকেন তবে এটিও যুক্ত করুন

ALTER TABLE users ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ADD INDEX (id);

2
আমি বুঝতে পারি এটি 7 বছর আগে ছিল, কিন্তু ... আমি কি এই উত্তরের অংশগুলির ব্যাখ্যা পেতে পারি? ADD INDEXএখানে কি করে ? আমি কি এটি idকলাম হিসাবে একই বিবৃতিতে যুক্ত করতে হবে, বা আমি ব্লক এবং তারপর idকলামটি সংজ্ঞায়িত করতে পারি ? CREATE TABLEADD INDEX(id)
মাইকেল হফম্যান

2
হেই, সময় কেটে যায় ... অবশ্যই, আপনি যদি এটি করতে সক্ষম হন তবে এটি তৈরি করুন টেবিলে সংজ্ঞায়িত করুন। উত্তরের দ্বিতীয় "অল্টার টেবিল" অংশটি বোঝায় যে আপনি ইতিমধ্যে একটি সারণী তৈরি করেছেন এবং এটি সম্ভবত যথাযথ সূচক ছাড়াই কোথাও মোতায়েন করা হয়েছে, যা প্রথমে "অল্টার টেবল" উদ্দেশ্য হিসাবে কাজ করার জন্য প্রয়োজন। আমি আশা করি এই ব্যাখ্যা সাহায্য করবে।
আনাতোলি

হ্যাঁ, এটি সাহায্য করে। আমি এমন কয়েকটি নমুনার দিকে তাকিয়ে ছিলাম যা এই বিবৃতিগুলিকে একইভাবে ব্যবহার করেছিল এবং তারা এখন আরও অর্থবোধ করে। ধন্যবাদ.
মাইকেল হফম্যান

1
অ্যাড আইএনডিএক্সের কারণ হ'ল এটি ছাড়া, যদি আপনার ইতিমধ্যে একটি বিদ্যমান টেবিলে প্রাথমিক কী থাকে তবে আপনি পাবেন there can be only one auto column and it must be defined as a key। আপনার সূচকের দরকার তাই এটি একটি MUL কী হবে।
djsumdog

আমি এটি একটি টেবিলটিতে চেষ্টা করেছি যা কেবল কোনও সারি যুক্ত না করে স্রেফ তৈরি করা হয়েছিল। দেখে মনে হচ্ছে এটি প্রথমে টেবিলে কমপক্ষে 1 সারি যুক্ত না করা হলে এটি কাজ করে না।
সলোমন ক্লসন

54

মাইএসকিউএল - 1001 থেকে শুরু হওয়া একটি স্বয়ং-বর্ধিত প্রাথমিক কী সেটআপ করুন:

পদক্ষেপ 1, আপনার টেবিলটি তৈরি করুন:

create table penguins(
  my_id       int(16) auto_increment, 
  skipper     varchar(4000),
  PRIMARY KEY (my_id)
)

পদক্ষেপ 2, অটো ইনক্রিমেন্ট প্রাথমিক কীটির জন্য শুরুর নম্বরটি সেট করুন:

ALTER TABLE penguins AUTO_INCREMENT=1001;

পদক্ষেপ 3, কিছু সারি sertোকান:

insert into penguins (skipper) values("We need more power!");
insert into penguins (skipper) values("Time to fire up");
insert into penguins (skipper) values("kowalski's nuclear reactor.");

পদক্ষেপ 4, আউটপুট ব্যাখ্যা:

select * from penguins

কপি করে প্রিন্ট:

'1001', 'We need more power!'
'1002', 'Time to fire up'
'1003', 'kowalski\'s nuclear reactor'

1
আমি বিশেষ পেঙ্গুইনের জন্য <1000 আইডি সেট করতে চাইলে কী করব?
উইলিয়াম হু

1
আপনি যে কোনও ফ্রি আইডি সন্নিবেশ করতে পারেন, কেবল এটি কলাম তালিকায় রাখুন: insert into penguins (my_id, skipper) values(999, "explicit id");(যখন স্বয়ংক্রিয় 0999
বর্ধনের

32

মাইএসকিউএল ওয়ার্কবেঞ্চ

আপনি যদি এসকিএল লেখা এড়াতে চান, আপনি টেবিলের উপর ডান ক্লিক করে মাইএসকিউএল ওয়ার্কব্যাঞ্চে এটি করতে পারেন, মেনুতে "বদল টেবিল ..." নির্বাচন করুন।

যখন টেবিল কাঠামোর ভিউটি খোলা হয়, ট্যাবে "বিকল্পগুলি" (দেখুনটির নীচের অংশে) যান এবং পরবর্তী স্বতঃআগ্রহ সংখ্যার মান হিসাবে "অটো বর্ধন" ক্ষেত্রটি সেট করুন।

আপনি যখন সমস্ত পরিবর্তনগুলি সম্পন্ন করেন তখন "প্রয়োগ করুন" টিপতে ভুলবেন না।

phpmyadmin:

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


1
আপনি কি phpMyAdmin সম্পর্কে কথা বলছেন?
পেসারিয়ার

1
না, আমি মনে করি তিনি মাইএসকিউএল ওয়ার্কবেঞ্চ সম্পর্কে কথা বলছেন।
Saturnian

@ স্যাটারনিয়ান, হ্যাঁ আপনি ঠিক বলেছেন, আমার অর্থ ওয়ার্কবেঞ্চ। আমি এটা পরিষ্কার করতে আমার পোস্ট সম্পাদনা করব।
বোজন হৃষ্কাস

পিএইচপিএমআইএডমিন একটি পদক্ষেপে একটি স্বয়ংসোধের সমস্যা সমাধান করেছে, আমি কোডের পথে যাওয়ার চেষ্টা করেছি এবং এটি কাজ করছে না।
টেকাগামি

11

প্রথমে আপনাকে অটো ইনক্রিমেন্টের জন্য কলাম যুক্ত করতে হবে

alter table users add column id int(5) NOT NULL AUTO_INCREMENT FIRST

প্রথমে কলাম যুক্ত করার জন্য এই ক্যোয়ারী। এখন আপনাকে অটো ইনক্রিমেন্টের প্রাথমিক মানটি পুনরায় সেট করতে হবে। সুতরাং এই কোয়েরি ব্যবহার করুন

alter table users AUTO_INCREMENT=1001

এখন আপনার টেবিলটি 1001 দিয়ে শুরু হয়েছিল


6

আপনি এটি create tableবিবৃতিতেও সেট করতে পারেন ।

`CREATE TABLE(...) AUTO_INCREMENT=1000`

5

এছাড়াও, পিএইচপিএমআইএডমিনে , আপনি বাম দিক থেকে টেবিল নির্বাচন করতে পারেন (টেবিলের তালিকা) তারপরে সেখানে গিয়ে এটি করুন।
অপারেশনস ট্যাব -> সারণী বিকল্পগুলি -> স্বয়ংক্রিয়রূপে।

এখন, আপনার মানগুলি সেট করুন এবং তারপরে টেবিল বিকল্প বো এক্স এর নীচে গো টিপুন ।


4

এর জন্য আপনাকে AUTO_INCREMENTমান নির্ধারণ করতে হবে

ALTER TABLE tablename AUTO_INCREMENT = <INITIAL_VALUE>

উদাহরণ

ALTER TABLE tablename AUTO_INCREMENT = 101

3

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

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