উত্তর:
একটি টিনআইএনটি একটি 8-বিট পূর্ণসংখ্যা মান, একটি বিআইটি ফিল্ড 1 বিট, বিআইটি (1) এবং 64 বিট, বিআইটি (64) এর মধ্যে সঞ্চয় করতে পারে। বুলিয়ান মানগুলির জন্য, বিআইটি (1) বেশ সাধারণ।
সংখ্যার প্রকারের ওভারভিউ থেকে ;
বিআইটি [(এম)]
বিট-ফিল্ড টাইপ। এম 1 থেকে 64 পর্যন্ত মূল্য প্রতি বিটের সংখ্যা নির্দেশ করে M এম বাদ দিলে ডিফল্ট 1 হয়।
এই ডাটা টাইপটি মাইএসএএমএল-এর জন্য মাইএসকিউএল 5.0.3 এ যুক্ত করা হয়েছিল এবং 5.0.5-এ মেমোরি, ইনোডিবি, বিডিবি এবং এনডিবিসিএলসটারে প্রসারিত হয়েছিল। 5.0.3 এর আগে, বিআইটি TINYINT (1) এর প্রতিশব্দ।
টিনইন্ট [(এম)] [নিবন্ধিত] [জেরোফিল]
খুব ছোট একটি পূর্ণসংখ্যা স্বাক্ষরিত ব্যাপ্তিটি -128 থেকে 127 The
অতিরিক্তভাবে এটি বিবেচনা করুন;
বুল, বুলিয়ান
এই ধরণেরগুলি TINYINT (1) এর প্রতিশব্দ। শূন্যের মানকে মিথ্যা বলে বিবেচনা করা হয়। অ-শূন্য মানগুলি সত্য বলে বিবেচিত হয়।
boolean
এটি একটি বাইট লাগবে যদিও এর সত্যতা সামান্য মাত্র, সুতরাং একটি বিআইটি (1) v5.0.3 এর পরে আরও ভাল?
BOOL
/ দুঃখজনক । অবশ্যই, তারা সকলেই একটি সম্পূর্ণ বাইট দখল করে, তবে শব্দার্থিকভাবে আরও অনেক বেশি উপযুক্ত হবে। BOOLEAN
TINYINT(1)
BIT
BIT
এই সমস্ত তাত্ত্বিক আলোচনা দুর্দান্ত, তবে বাস্তবে, যদি আপনি মাইএসকিউএল এবং সত্যই এসকিউএল সার্ভারের জন্য ব্যবহার করেন তবে আপনার বুলিয়ানদের জন্য নন-বাইনারি ডেটা থাকা সহজ কারণ যে আপনি যখন কাজ করেন তখন এটি কাজ করা সহজ for ডেটা আউটপুট, পুনরায় অনুসন্ধান এবং আরও। এটি বিশেষত গুরুত্বপূর্ণ যদি আপনি মাইএসকিউএল এবং এসকিউএল সার্ভারের মধ্যে আন্তঃআরক্ষীয়তা অর্জন করার চেষ্টা করছেন (যেমন আপনি উভয়ের মধ্যে ডেটা সিঙ্ক করেন), কারণ বিআইটি ডেটাটাইপ হ্যান্ডলিং তাদের দুজনের মধ্যে আলাদা। বাস্তবে আপনি যদি একটি সংখ্যক ডেটাটাইপটি ব্যবহার করে থাকেন তবে আপনার অনেক কম ঝামেলা হবে। আমি মাইএসকিউএলকে বল বা বুলিয়ান যা টিনআইএনটি (1) হিসাবে সঞ্চিত হয় তার সাথে আটকে থাকার জন্য সুপারিশ করব। এমনকি মাইএসকিউএল ওয়ার্কবেঞ্চ এবং মাইএসকিউএল প্রশাসক যেভাবে বিআইটি ডেটাটাইপ প্রদর্শন করেন তা দুর্দান্ত নয় (এটি বাইনারি ডেটার জন্য সামান্য প্রতীক)।
বিআইটি-তে কেবল 0 এবং 1 (এবং ক্ষেত্রটি NULL হিসাবে সংজ্ঞায়িত না করা থাকলে NULL) করা উচিত। TINYINT (1) এমন কোনও মানকে মঞ্জুরি দেয় যা একক বাইটে সংরক্ষণ করতে পারে, -128..127 বা 0..255 এটি স্বাক্ষরহীন কিনা তা নির্ভর করে (1 টি দেখায় যে আপনি কেবল একটি একক অঙ্ক ব্যবহার করতে চান, তবে এটি করে আপনাকে বৃহত্তর মান সংরক্ষণ করা থেকে বিরত রাখবেন না)।
5.0.3 এর চেয়ে পুরানো সংস্করণগুলির জন্য, বিআইটি TINYINT (1) হিসাবে ব্যাখ্যা করা হয়, সুতরাং সেখানে কোনও পার্থক্য নেই।
বিআইটির একটি "এটি একটি বুলিয়ান" শব্দার্থক রয়েছে, এবং কিছু অ্যাপস TINYINT (1) কে একইভাবে বিবেচনা করবে (মাইএসকিউএল এটির সাথে আচরণ করার কারণে) তাই অ্যাপ্লিকেশন কলামটি চেক বাক্স হিসাবে ফর্ম্যাট করতে পারে যদি তারা টাইপটি পরীক্ষা করে তবে এবং তার উপর ভিত্তি করে কোনও ফর্ম্যাট নিয়ে সিদ্ধান্ত নিন।
ভুল হতে পারে তবে:
টিনিইন্ট 0 এবং 255 এর মধ্যে একটি পূর্ণসংখ্যা
বিট হয় 1 বা 0 হয়
অতএব আমার কাছে বিটটি বুলিয়ানদের পছন্দ
আমার অভিজ্ঞতা থেকে আমি আপনাকে বলছি যে বিআইটি-র লিনাক্স ওএস ধরণের সমস্যা রয়েছে (উবুন্টু প্রাক্তন)। আমি উইন্ডোতে আমার ডিবি বিকাশ করেছি এবং আমি লিনাক্সে সমস্ত স্থাপনার পরে, আমার কাছে বিট ডেটা টাইপযুক্ত সারণী থেকে সন্নিবেশ বা নির্বাচন করা প্রশ্নগুলির সাথে সমস্যা হয়েছিল।
বিট আপাতত নিরাপদ নয়। আমি টিনিনেন্টে পরিবর্তন হয়েছি (1) এবং পুরোপুরি কাজ করেছি। আমি বোঝাতে চাইছি যে 1 বা 0 এবং টিনিনেন্ট (1) এর জন্য এটির জন্য ঠিক আছে যদি আপনার দ্বিগুণ হওয়ার জন্য কেবল একটি মান প্রয়োজন