سوال بپرسید
1

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

سوال بپرسید

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

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

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

برچسب ها:
گزارش سوال
پرسیده شده در 1 ماه پیش
آمار بازدید: 90

1 پاسخ

2
25 آذر 97 در 16:49

به نقل از وب سایت رسمی 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.