একটি একক কমান্ড দিয়ে একটি ডাটাবেসে সমস্ত সারণী পরিবর্তন করুন


13

একটি ডাটাবেসের মধ্যে সমস্ত সারণী পরিবর্তন করতে একটি একক বা একটি লাইন কমান্ড আছে? আমি একটি ডাটাবেসের মধ্যে প্রতিটি সারণীতে এই কমান্ডটি জারি করতে চাই:

ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8;

আমার উদ্দেশ্য হ'ল অক্ষরটি ল্যাটিন 1 থেকে সমস্ত টেবিলগুলিতে ইউটিএফ 8-তে পরিবর্তন করা।

আপডেট: আরডিবিএমএস হ'ল মাইএসকিউএল

উত্তর:


18

না, এরকম কোনও আদেশ নেই। তবে আপনি যা করতে পারেন তা হল আপনার পছন্দ মতো এসকিউএল তৈরি করার জন্য একটি দ্রুত কোয়েরি লিখুন:

USE INFORMATION_SCHEMA;
SELECT 
CONCAT("ALTER TABLE `", TABLE_SCHEMA,"`.`", TABLE_NAME, "` CONVERT TO CHARACTER SET UTF8;") 
AS MySQLCMD FROM TABLES 
WHERE TABLE_SCHEMA = "your_schema_goes_here";

তারপরে আপনি যা প্রয়োজন তা করতে আপনি এটি থেকে আউটপুট চালাতে পারেন।

সূত্র:

http://forums.mysql.com/read.php?20,244395,244421#msg-244421


একক কমান্ডে আপনি যা চান তা করার কোনও উপায় নেই।
মিঃ ব্রাউনস্টোন

এটি মারিয়াডিবি-র অধীনে কাজ করার জন্য, কোনও কারণে আমাকে WHERE TABLE_SCHEMA = "your_schema_goes_here"কমান্ডের বাইরে যেতে হয়েছিল ।
গ্যুইনেথ ল্লেওলিন

2

সবচেয়ে সহজ উপায়: ডাটাবেস রফতানি করুন। একটি পাঠ্য সম্পাদকটিতে রফতানি করা ডাটাবেসটি খুলুন এবং "ইউটিএফ 8" বা যে কোনও কিছু দিয়ে সন্ধান করুন / প্রতিস্থাপন করুন। সংশোধিত ডাটাবেস পুনরায় আমদানি করুন।


1
কেন এটি সবচেয়ে সহজ উপায়? আপনি যদি অক্ষরের সেটটি সংশোধন করতে আপনার ডিবি নামাতে না পারেন?
dezso

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

এটিই ছিল আমার ক্ষেত্রে সেরা সমাধান! দ্রুত সমাধান যে বেশ সুবিধাজনক এসেছিল। যখন আমি কোনও কারণে আমার ডাটাবেসে "অবৈধ মিশ্রণ" ত্রুটি থাকা শুরু করি তখন আমি আমার লোকালটিতে কাজ করছিলাম। +1 টি।
evl183

1

আপনি যদি এমএস এসকিউএল সার্ভারের সাথে কাজ করে থাকেন তবে সেখানে একটি অনিরোধকৃত সঞ্চিত প্রক্রিয়া রয়েছে যা আপনি ব্যবহার করতে পারবেন _ একটি দিয়ে টেবিলের নাম প্রতিস্থাপন ব্যবহার করবেন? বিবৃতিতে।

সুতরাং আপনার উদাহরণে

EXEC ms_foreachtable 'ALTER TABLE [?] .....'

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