কম্পিউটার

মাইএসকিউএল ডিলিমিটার ত্রুটি কখন ঘটবে?


আপনি যখন সেমিকোলন (;) সহ একটি পাইপ ডিলিমিটার (|) ব্যবহার করছেন এবং 8.0.12 এর চেয়ে কম MySQL সংস্করণ ব্যবহার করছেন তখন MySQL ডিলিমিটারটি ঘটে।

মাইএসকিউএল পাইপ (|) কে একটি বিভাজক হিসাবে বিবেচনা করে এবং সেমিকোলন (;) আরেকটি বিভাজক। অতএব, মাইএসকিউএল ডিলিমিটারকে পাইপ এবং সেমিকোলনের সাথে গুলিয়ে ফেলবেন না।

দ্রষ্টব্য :এখানে, আমরা MySQL সংস্করণ 8.0.12 ব্যবহার করছি। পাইপ ডিলিমিটার সেমিকোলনের সাথে সূক্ষ্ম কাজ করে। আপনি যদি 8.0.12 এর চেয়ে কম সংস্করণ ব্যবহার করেন, তাহলে এটি একটি বিভাজন ত্রুটির দিকে নিয়ে যায়।

এখানে MySQL ডিলিমিটারের কাজ:

mysql> delimiter |;mysql> পদ্ধতি getSumOfTwoNumbers() -> শুরু করুন -> TotalValue হিসাবে 2+3 নির্বাচন করুন; -> শেষ; -> |;কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.17 সেকেন্ড)mysql> বিভেদক;

এখন কল কমান্ড ব্যবহার করে সংরক্ষিত পদ্ধতিটি কল করুন। প্রশ্নটি নিম্নরূপ:

mysql> কল getSumOfTwoNumbers();

নিম্নলিখিত আউটপুট:

<প্রে>+------------+| মোট মান |+------------+| ৫

সেমিকোলন দিয়ে উপরের পাইপ ডেলিমিটারটি অর্জন করবেন না কারণ MySQL-এ সেমিকোলন ডিফল্ট ডিলিমিটার যা MySQL-এ স্টেটমেন্টের শেষ বলে। অতএব, আপনি যখন একাধিক বিবৃতি লিখছেন তখন MySQL সংরক্ষিত পদ্ধতি থেকে ফিরে পেতে সেমিকোলন ব্যবহার করা যেতে পারে৷

এখানে সীমানা পরিবর্তনের উদাহরণ।

প্রথমে পাইপ ডেলিমিটার (|) ব্যবহার করুন। আপনি যদি পাইপে ডিলিমিটার সেট করতে চান, তাহলে নিম্নলিখিত ক্যোয়ারীটি ব্যবহার করুন।

mysql> DELIMITER |

একটি সঞ্চিত পদ্ধতি তৈরি করার জন্য ক্যোয়ারী নিম্নরূপ:

mysql> DELIMITER |mysql> প্রক্রিয়া তৈরি করুন ডেমো() -> শুরু -> টোটাল মাল্টিপ্লিকেশন হিসাবে 2*3 নির্বাচন করুন; -> শেষ; -> |কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.12 সেকেন্ড)

এখন সেমিকোলন দিয়ে ডিলিমিটার পরিবর্তন করুন। আপনি যদি সেমিকোলনে ডিলিমিটার সেট করতে চান তবে নিম্নলিখিত ক্যোয়ারীটি ব্যবহার করুন।

প্রশ্নটি নিম্নরূপ:

mysql> ডিলিমিটার;

  1. MySQL ত্রুটি - #1046 - কোন ডাটাবেস নির্বাচন করা হয়নি

  2. মাইএসকিউএল ডাটাবেস তৈরি হলে কোথায় সংরক্ষিত হয়?

  3. মাইএসকিউএল-এ ডাটাবেসে সন্নিবেশ করার সময় দশমিকের মান (19, 2) পরিবর্তন করবেন?

  4. mysqld - মাইএসকিউএল সার্ভার