মাইএসকিউএলে একটি কলামের নাম পরিবর্তন করুন


241

আমি এই এসকিউএল এক্সপ্রেশনটি ব্যবহার করে মাইএসকিউএল সম্প্রদায় সার্ভার 5.5.27 এ একটি কলামের নাম পরিবর্তন করার চেষ্টা করছি:

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

আমিও চেষ্টা করেছি

ALTER TABLE table_name RENAME old_col_name TO new_col_name;

তবে এটি বলে:

ত্রুটি: আপনার মাইএসকিউএল সার্ভার সংস্করণটির সাথে সম্পর্কিত ম্যানুয়ালটি পরীক্ষা করুন


উত্তর:


403

নিম্নলিখিত কোয়েরি ব্যবহার করুন:

ALTER TABLE tableName CHANGE `oldcolname` `newcolname` datatype(length);

RENAMEফাংশন ওরাকল ডাটাবেস ব্যবহার করা হয়।

ALTER TABLE tableName RENAME COLUMN "oldcolname" TO "newcolname" datatype(length);

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


@ lad2025 নীচে এটি উল্লেখ করেছে, তবে আমি ভেবেছিলাম তিনি যা বলেছেন তা যুক্ত করে ভাল লাগবে। ধন্যবাদ @ lad2025!

আপনার যে RENAME COLUMNকোনও কলামটির নাম পরিবর্তন করতে হবে তার পুনরায় নামকরণ করতে আপনি মাইএসকিউএল 8.0 এ ব্যবহার করতে পারেন ।

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

টেবিল সিনট্যাক্স পরিবর্তন করুন :

নাম পরিবর্তন করুন:

  • কোনও কলামের নাম পরিবর্তন করতে পারে তবে এর সংজ্ঞা নয়।

  • কোনও কলামের সংজ্ঞা পরিবর্তন না করে নাম বদলে CHANGE এর চেয়ে আরও সুবিধাজনক।


2
আপনার একই নাম সহ কলাম থাকতে পারে - বা এটি যে ডেটাটাইপটি নির্দিষ্ট করা হয়েছিল তা কেন নির্দিষ্ট করতে হবে?
লেওলো

5
@ লিওলিও যেমন কমান্ডটি বলেছে, CHANGEএকটি টেবিলের কলাম এবং এর ধরণের পরিবর্তন করে। জুমলা ডক্স রাজ্য: Attributes present in the original definition but not specified for the new definition are not carried forward.। মানে আপনাকে সারণির সংজ্ঞা নির্দিষ্ট করতে হবে বা সেগুলি এই কলামের জন্য ব্যবহার করা হবে না। আপনি শুধুমাত্র একটি কলামের ডাটাটাইপ পরিবর্তন করতে চান, সহজভাবে ছেড়েnewcolname
Rizky Fakkel

2
@ ফ্লিম আপনি ঠিক আবার। ওরাকল ডক্স; In MySQL, the quote character is the backtick. If the SQL mode ANSI_QUOTES is set, double quotes can also be used to quote the identifiers. In Oracle, identifiers are quoted using double quotation marks.আআন্দ সম্পাদিত। আমার কফি লাগবে ..
রিজকি ফাক্কেল

1
ধন্যবাদ @ স্মোজেন! অদ্ভুত জিনিস. ব্যাকটিকগুলি মাইএসকিউএল-এর জন্য ডিফল্ট উদ্ধৃতি চরিত্র বলে মনে করা হচ্ছে। আপনি কি নিশ্চিত যে আপনি এর "পরিবর্তে ব্যবহার করেন নি `?
রিজকি ফাক্কেল

2
মাইএসকিউএল ( MYSQL STATUSশো mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper) এ, আমি Error 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...কোয়েরিটি পেয়েছি ALTER TABLE comment RENAME COLUMN thread_id TO threadId;। আমি ব্যাকটিক্স যুক্ত করার চেষ্টাও করেছি `। আমি ব্যবহার শেষ CHANGE
রিড

60

সার্ভার সংস্করণে: 5.6.34 মাইএসকিউএল সম্প্রদায় সার্ভার

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;

80
একেবারে DROP এবং ADD ব্যবহার করবেন না। আপনি এটি করে সমস্ত ডেটা হারাবেন
টমাজাহলিন

27

থেকে মাইএসকিউএল 5.7 রেফারেন্স ম্যানুয়াল

বাক্য গঠন :

টেবিলের T1 পরিবর্তন আবশ্যক DATATYPE;

উদাহরণ: জন্য গ্রাহক সারণি কলামে থাকার গ্রাহকের , customer_street , customercity

এবং আমরা পরিবর্তন করতে চান customercity করার customer_city :

alter table customer change customercity customer_city VARCHAR(225);

18

মাইএসকিউএল 8.0 থেকে আপনি ব্যবহার করতে পারেন

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

টেবিল সিনট্যাক্স পরিবর্তন করুন :

নাম পরিবর্তন করুন:

  • কোনও কলামের নাম পরিবর্তন করতে পারে তবে এর সংজ্ঞা নয়।

  • কোনও কলামের সংজ্ঞা পরিবর্তন না করে নাম বদলে CHANGE এর চেয়ে আরও সুবিধাজনক।

ডিবিফিডাল ডেমো


4

আপনি নিম্নলিখিত কোড ব্যবহার করতে পারেন:

ALTER TABLE `dbName`.`tableName` CHANGE COLUMN `old_columnName` `new_columnName` VARCHAR(45) NULL DEFAULT NULL ;



1

সিনট্যাক্স: টেবিলের টেবিলের নাম পরিবর্তন করুন পুরানো_ কলাম_নাম_পরিবর্তন_নামের ডেটাটাইপ;

সারণী নাম হয়, তাহলে শিক্ষার্থীর এবং কলাম নাম নাম । তারপর, আপনি পরিবর্তন করতে চান তাহলে নাম থেকে FIRST_NAME

ALTER TABLE Student CHANGE Name First_Name varchar(20);

0

মাইএসকিএল সংস্করণ 5 এর জন্য

alter table *table_name* change column *old_column_name* *new_column_name* datatype();


0

মাইএসকিএল-তে আপনার জিজ্ঞাসাটি হওয়া উচিত

ALTER TABLE table_name change column_1 column_2 Data_Type;

আপনি ওরাকলে কোয়েরি লিখেছেন।

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