কম্পিউটার

MySQL এ নেতিবাচক সংখ্যা প্রতিরোধ করবেন?


MySQL-এ নেতিবাচক সংখ্যা প্রতিরোধ করতে, আপনাকে INT আনসাইনড ব্যবহার করতে হবে। ধরা যাক আপনি int হিসাবে একটি কলাম সহ একটি টেবিল তৈরি করেছেন অর্থাৎ এখানে UserGameScores

mysql> সারণী প্রতিরোধ NegativeNumberDemo তৈরি করুন -> ( -> UserId int NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20), -> UserGameScores int -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত হয়েছে (1.74 sec)> 

এখন আপনি যদি এতে নেতিবাচক সংখ্যাগুলি প্রতিরোধ করতে চান তবে একই কলামটি INT আনসাইনড

দিয়ে পরিবর্তন করুন।
mysql> পরিবর্তন সারণি প্রতিরোধ নেতিবাচক নম্বর ডেমো পরিবর্তন করুন কলাম ব্যবহারকারী গেমস্কোর আইএনটি আনসাইনড নট নাল; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (3.32 সেকেন্ড) রেকর্ডস:0 ডুপ্লিকেট:0 সতর্কতা:0

এখন আবার টেবিলের বিবরণ দেখুন।

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

mysql> desc prevent NegativeNumberDemo;

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

<প্রে>+------------------------------- --+---------+----------------+| মাঠ | প্রকার | শূন্য | কী | ডিফল্ট | অতিরিক্ত |+----------------+-------------------+------+ -+------------+----------------+| UserId | int(11) | না | পিআরআই | NULL | স্বয়ংক্রিয়_বৃদ্ধি || ব্যবহারকারীর নাম | varchar(20) | হ্যাঁ | | NULL | || UserGameScores | int(10) স্বাক্ষরবিহীন | না | | NULL | |+----------------+-------------------+------+------ সেটে +---------+----------------+3 সারি (0.00 সেকেন্ড)

এখন আপনি যদি UserGameScores কলামের জন্য নেতিবাচক নম্বর সন্নিবেশ করার চেষ্টা করেন তবে MySQL একটি ত্রুটি দেয় কারণ আমরা এটিকে INT আনসাইনড হিসাবে সেট করেছি। আসুন ঋণাত্মক সংখ্যা সহ কিছু মান সন্নিবেশ করান

mysql> প্রিভেট নেগেটিভ নম্বরডেমো(ব্যবহারকারীর নাম,ব্যবহারকারী গেম স্কোর) মান ('ল্যারি',0); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (1.20 সেকেন্ড)mysql> প্রতিরোধ নেগেটিভ নম্বরডেমো(ব্যবহারকারীর নাম,ব্যবহারকারীর গেম স্কোর) মান('1-এ ঢোকান) );ERROR 1264 (22003):সারি 1mysql-এ কলাম 'UserGameScores'-এর জন্য পরিসীমার বাইরে> NegativeNumberDemo(UserName,UserGameScores) মান ('Sam',-100); ERROR 1264 (2203-এর বাইরে):সারি 1mysql-এ 'UserGameScores' কলাম> প্রতিরোধ NegativeNumberDemo(UserName,UserGameScores) মান ('John',100); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.84 সেকেন্ড)mysql> প্রতিরোধ নেগেটিভ নম্বরে ঢোকান। ,200);কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.48 সেকেন্ড)

আমরা যখন নেতিবাচক মান সন্নিবেশ করার চেষ্টা করি তখন উপরের ত্রুটিটি দেখুন৷

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

mysql> থেকে *নির্বাচন করুন নিগেটিভ নম্বরডেমো থেকে;

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

+---------+---------+----------------+| UserId | ব্যবহারকারীর নাম | UserGameScores |+---------+------------+----------------+| 1 | ল্যারি | 0 || 2 | জন | 100 || 3 | বব | 200 |+---------+---------+----------------+3টি সারি সেটে (0.00 সেকেন্ড)

  1. মাইএসকিউএল ইনসার্টে ডুপ্লিকেট সারিগুলি কীভাবে প্রতিরোধ করবেন?

  2. মাইএসকিউএল-এ সংখ্যা সহ বৃত্তাকার রেকর্ড

  3. MySQL এ আলফানিউমেরিক স্ট্রিং থেকে শুধুমাত্র সংখ্যা সাজান?

  4. C-তে ঋণাত্মক সংখ্যার মডুলাস