মাইএসকিউএলে কীভাবে অনন্যতা ছাড়বেন?


139
Create Table: CREATE TABLE `fuinfo` (
  `fid` int(10) unsigned NOT NULL,
  `name` varchar(40) NOT NULL,
  `email` varchar(128) NOT NULL,
  UNIQUE KEY `email` (`email`),
  UNIQUE KEY `fid` (`fid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

আমি অনন্য কীটি ড্রপ করতে চাই email, কীভাবে?

উত্তর:


278

মাইএসকিউএল অনুসারে মুছে ফেলার জন্য আপনি নিম্নলিখিত এসকিউএল স্ক্রিপ্টটি ব্যবহার করতে পারেন:

alter table fuinfo drop index email;

26
মনে রাখবেন যে emailকলামে কোনও বিদেশী কী উপস্থিত থাকলে (ত্রুটি 150) আপনি এই জাতীয় কোনও কী ফেলে দিতে পারবেন না । এটি কাজ করতে প্রথমে বিদেশী কীটি ফেলে দিন, তারপরে সূচিটি ফেলে দিন এবং পরে বিদেশী কীটি পুনরায় তৈরি করুন। যেমন ALTER TABLE fuinfo DROP বিদেশী কী fk_name_for_email;
ব্র্যাড পার্কগুলি

61

আরও একটি ভাল উপায় আছে যা আপনার টেবিল পরিবর্তন করার প্রয়োজন হবে না:

mysql> DROP INDEX email ON fuinfo;

যেখানে ইমেলটি অনন্য কী (সূচক) এর নাম।

আপনি এটিকে আবার ফিরিয়ে আনতে পারেন:

mysql> CREATE UNIQUE INDEX email ON fuinfo(email);

যেখানে আইডেক্সের পরে ইমেল সূচকের নাম এবং এটি alচ্ছিক নয়। আপনি INDEX এর পরিবর্তে KEY ব্যবহার করতে পারেন।

এছাড়াও এটি বহুবিধ স্তরের অনন্য সূচনাগুলি তৈরি (অপসারণ) করা সম্ভব:

mysql> CREATE UNIQUE INDEX email_fid ON fuinfo(email, fid);
mysql> DROP INDEX email_fid ON fuinfo;

আপনি যদি মাল্টিকালম ইনডেক্সের নামটি নির্দিষ্ট না করে থাকেন তবে আপনি এটির মতো এটি মুছে ফেলতে পারেন:

mysql> DROP INDEX email ON fuinfo;

যেখানে ইমেলটি কলামের নাম।


5
এগুলি সমস্তই যাইহোক যাইহোক একটি অল্টার টেবিলটি করবে, সুতরাং এটি সত্য নয় যে আপনি সত্যিই এড়াচ্ছেন। এটি একই জিনিসটির জন্য কেবল একটি পৃথক বাক্য গঠন।
মপিটাররা

9

mysql> ড্রপ ইন্ডেক্স ইমেইল ফুয়িনফোতে;

যেখানে ইমেলটি অনন্য কী (কলামের নামের চেয়ে)। আপনি অনন্য কী এর নামটি পেয়ে যাবেন

mysql> SHOW CREATE TABLE fuinfo;

উদাহরণস্বরূপ, আপনি এখানে অনন্য কীটির নাম দেখতে পাবেন যা ইমেল 2 হতে পারে। তাই ...

mysql> DROP INDEX email_2 ON fuinfo;

mysql> DESCRIBE fuinfo;

এটি দেখানো উচিত যে সূচিটি সরানো হয়েছে


5

কোয়েরির নীচে ব্যবহার করুন:

ALTER TABLE `table_name` DROP INDEX key_name;

যদি আপনি কী_নামটি জানেন না তবে প্রথমে কোয়েরির নীচে চেষ্টা করুন, আপনি কী_নাম পেতে পারেন।

SHOW CREATE TABLE table_name

অথবা

SHOW INDEX FROM table_name;

আপনি যদি মাইএসকিএল টেবিল থেকে প্রাথমিক কীটি সরিয়ে / ছেড়ে দিতে চান, তবে তার জন্য নীচের কোয়েরিটি ব্যবহার করুন

ALTER TABLE `products` DROP INDEX `PRIMARY`;

কোডটি নেওয়া হয়েছে: http : // Chandreshrana.blogspot.in/2015/10/how-to-remove-unique-key-from-mysql.html


4

টেবিল_নামে ড্রপ column_nameইন্ডেক্স

ডাটাবেস নির্বাচন করুন এবং ক্যোয়ারী স্কেল ট্যাব গঠন করুন his এটি নির্দিষ্ট কলামের সূচি মুছে ফেলে। এটি আমার জন্য পিএইচপি মায়াডমিনে কাজ করেছিল



2

মাইএসকিউএল 5.7.11 এর জন্য

পদক্ষেপ -১: প্রথমে অনন্য কীটি পান

এটি পেতে এই কোয়েরিটি ব্যবহার করুন:

1.1) টেবিল ব্যবহারকারী তৈরি করুন;

শেষ পর্যন্ত, এটি এর মতো হবে:

.....

.....

অনন্য কী UK_8bv559q1gobqoulqpitq0gvr6( phoneNum)

.....

....

পদক্ষেপ -২: এই ক্যোয়ারির মাধ্যমে অনন্য কী সরান।

অল্টার টেবিলে ব্যবহারকারী ড্রপ ইন্ডেক্স ইউ কে_8 বিভি 559 ক 1 গোবাকৌলকপিটিক0 জিভিআর 6;

পদক্ষেপ -3: এই ক্যোয়ারির দ্বারা সারণী তথ্যটি পরীক্ষা করুন:

ডিইএসসি ব্যবহারকারী;

এটি দেখানো উচিত যে সূচিটি সরানো হয়েছে

এখানেই শেষ.



1

একটি কলামের ইউনিক অপসারণ করার চেষ্টা করুন:

ALTER TABLE  `0_ms_labdip_details` DROP INDEX column_tcx

এই কোডটি phpmyadmin এ চালান এবং কলামের অনন্য সরান


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