MySQL সাংখ্যিক মান পরিচালনা করা যা কলাম ডেটা টাইপের অনুমোদিত সীমার বাইরে তা নিম্নলিখিত উপায়ে SQL মোডের উপর নির্ভর করে -
(A) সক্রিয় SQL কঠোর মোড - যখন কঠোর SQL মোড সক্রিয় করা হয়, MySQL পুট-অফ-রেঞ্জ মান প্রবেশ করার সময় ত্রুটি প্রদান করে। এই ক্ষেত্রে, কিছু বা সমস্ত মান সন্নিবেশ ব্যর্থ হয়েছে৷
৷উদাহরণ স্বরূপ, আমরা দুটি কলামের সাথে একটি টেবিল তৈরি করেছি যেখানে TINYINT এবং UnSigned TINYINT রয়েছে তাদের কলামের ডেটা প্রকার হিসাবে৷
mysql> সারণি গণনা তৈরি করুন (রেঞ্জ 1 টিনিন্ট, রেঞ্জ2 টিনইন্ট আনসাইনড); কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.14 সেকেন্ড)
এখন নিম্নলিখিত কমান্ডের সাহায্যে, আমরা কঠোর SQL মোড সক্রিয় করেছি
mysql> SQL_MODE ='ট্র্যাডিশনাল' সেট করুন; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড)
এখন, যদি আমরা কলামে পরিসীমার বাইরের মান সন্নিবেশ করার চেষ্টা করি, MySQL ত্রুটি প্রতিফলিত করে এবং উভয় সন্নিবেশ ব্যর্থ হয়েছে যা নীচের ক্যোয়ারী দ্বারা চেক করা যেতে পারে -
mysql> Counting(Range1, Range2) Values(256,256);ERROR 1264 (22003):সারি 1mysql-এ কলাম 'রেঞ্জ1'-এর জন্য পরিসীমা মানের বাইরে> গণনা থেকে * নির্বাচন করুন; খালি সেট (0.00 সেকেন্ড)পূর্বে>(B) নিষ্ক্রিয় SQL কঠোর মোড - যখন সীমাবদ্ধ SQL মোড নিষ্ক্রিয় করা হয়, তখন মানটি MySQL দ্বারা সেই কলাম ডেটা টাইপের উপযুক্ত শেষ বিন্দু পর্যন্ত ক্লিপ করা হয় এবং ফলস্বরূপ মানটি জমা করে। MySQL সতর্কতাগুলি প্রতিফলিত করে যা কলাম-অ্যাসাইনমেন্ট রূপান্তরের ফলাফল যা ক্লিপিংয়ের কারণে ঘটে।
উদাহরণস্বরূপ, যদি আমরা SQL কঠোর মোড নিষ্ক্রিয় করার পরে কলামে মান সন্নিবেশ করি, তবে MySQL সতর্কতাগুলি প্রতিফলিত করবে এবং মানগুলিকে উপযুক্ত শেষ-বিন্দুতে ছাঁটাই করার পরে সংরক্ষণ করবে। এটি নীচের প্রশ্নগুলির সাথে বোঝা যায় -
mysql> SQL_MODE ='' সেট করুন; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড) mysql> ইনসার্ট ইনটু কাউন্টিং(রেঞ্জ1, রেঞ্জ2) মান (256,256); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত, 2টি সতর্কতা (0.02 সেকেন্ড) mysql> সতর্কতা দেখান;+---------+---------+---------------------------- ---------------------+| স্তর | কোড | বার্তা |+---------+------+----------------------------------------- -------------------+| সতর্কতা | 1264 | 1 সারিতে 'রেঞ্জ1' কলামের জন্য পরিসীমা মানের বাইরে || সতর্কতা | 1264 | 1 সারিতে 'রেঞ্জ2' কলামের জন্য পরিসীমা মানের বাইরে |+---------+---------------------------- ------------------------------ সেটে 2 সারি (0.00 সেকেন্ড) mysql> গণনা থেকে * নির্বাচন করুন;+--- -----+---------+| পরিসীমা1 | পরিসীমা2 |+---------+---------+| 127 | 255 |+---------+---------+1 সারি সেটে (0.00 সেকেন্ড)