2011-01-21 12 views
16

में बूलियन फ़ील्ड मैं अपने mysql डेटाबेस में एक बूलियन के रूप में अपना मान सहेजना चाहता हूं। लेकिन किसी भी तरह से Iam इसे सहेजने में सक्षम नहीं है, mysql स्वचालित रूप से tinyInt प्रकार को सहेजता है। मुझे भी बूलियन के लिए डिफ़ॉल्ट मान बताएं। हम मूल्य कैसे पास करते हैं?mysql db

+3

1 = true 0 0 0 0 = झूठी – BvdVen

उत्तर

25

MySQL BOOLEAN प्रकार TINYINT के लिए समानार्थी है। कोई समर्पित BOOLEAN प्रकार नहीं है। घुमावदार वाउल्स, TINYINT i.e 0 0 के लिए झूठे, 1-255 (अधिमानतः 1) के लिए हैं।

+0

लेकिन क्यों बूल और टिनिंट अलग हैं। यदि वे समान हैं तो –

+0

होना चाहिए 'कोई भी' बूल नहीं है। केवल 'टिन्यिन' है जिसे 'बूल' के रूप में लिखा जा सकता है। – Mchl

+0

मुझे अभी मिल गया है, लेकिन मैं सिर्फ उलझन में था कि अगर हमने tinyInt.Bool का उपयोग सूची से हटाया जाना चाहिए, तो उन्होंने mysql में बूल क्यों बनाए रखा है। –

6

MySQL में वास्तव में एक बुलेन प्रकार नहीं है, यदि आप एक बुलेन कॉलम बनाते हैं तो यह वास्तव में एक TINYINT होगा।

एक बूलियन के रूप में टिन्यिनट का इलाज करना बहुत ही समस्याग्रस्त नहीं है, अगर आप 0 को झूठी और गैर-0 के रूप में सही मानते हैं तो यह ठीक है। PHP में if ($column) जैसे बयान 0 वापस आते हैं यदि 0 कॉलम 0 या 0 का मूल्यांकन करने वाले कुछ को छोड़कर कोई मान है। यदि आपको इसे स्पष्ट रूप से बूल होने की आवश्यकता है तो आप $column = ($column != 0);

+1

पिछले एक $ कॉलम = ($ कॉलम! = 0) के लिए उपरोक्त; –

संबंधित मुद्दे