کدام نوع داده SQL برای ذخیره سازی مقادیر Boolean مناسب است؟

من داخل پایگاه داده MySQL کار می کنم و میخواستم یک داده صحیح/غلط یا همون True/False یا باینری (Boolean) رو ذخیره سازی کنم. مخصوصا اینکه میخوام از پایگاه داده MySQL برای PHP استفاده کنم. یه مقدار مطالعه کردم و متوجه شدم که میشه داخل انواع داده زیر اطلاعات رو ذخیره کرد ولی مطمئن نیستم کدوم درسته:

  1. نوع داده ی tinyint که شامل مقادیر ۱ و ۰ باشه
  2. نوع داده ی varchar که داخل اون یک رشته به صورت '0' یا '1' ذخیره کنم
  3. نوع داده enum که میشه دو مقدار 'true' و 'false' رو داخل ثبت کرد

حالا سوال من اینه که کدوم نوع داده در MySQL استاندارد تره؟ میزان بهینه بودن کدوم یکیشون بهتره؟ اصلا این مواردی که گفتم درسته یا نه؟

برچسب ها:
پرسیده شده در: 2 سال قبل
آمار بازدید: 1345
2

به نقل از وب سایت رسمی MySQL از نسخه 5.0.3 به بعد شما می توانید از نوع داده ی BIT برای ذخیره کردن داده های بولین (Boolean) استفاده کنید. این جملات عینا از وب سایت MySQL برداشته شده اند:

As of MySQL 5.0.3, the BIT data type is used to store bit-field values. A type of BIT(M) enables storage of M-bit values. M can range from 1 to 64.

از طرفی با مطالعه راهنما یا مستندات MySQL متوجه خواهید شد که نوع داده TINYINT نیز می تواند با طول ۱ برای ذخیره سازی داده های بولین (Boolean) مناسب باشد. متن زیر مجددا از این راهنما برگرفته شده است:

Bool, Boolean: These types are synonyms for TINYINT(1). A value of zero is considered false. Non-zero values are considered true.

 

ارسال شده در: 2 سال قبل
masoudsalehi (1345)
بیش از ۲ سال عضویت در روکسو بیش از ۲ سال عضویت در روکسو دارای 1000 کارما دارای 1000 کارما دارای 10 پاسخ صحیح دارای 10 پاسخ صحیح ارسال کننده پاسخ با 25 رای ارسال کننده پاسخ با 25 رای
جهت ارسال پاسخ ابتدا عضو سایت شوید.