2011-10-05 31 views
11

मेरे मेज, मैं डेटाप्रकार सेट बूलियन के रूप में (0 गलत का संकेत, 1 सही का संकेत देता है), और डिफ़ॉल्ट रूप से 0.मैं mysql में बुलियन मान कैसे अपडेट कर सकता हूं?

है लेकिन जब मैं php का उपयोग कर इस स्तंभ को अपडेट करना चाहते हैं, एक isSuccessful स्तंभ है

UPDATE .......... SET isSuccessful = 1 WHERE ......... 

यह काम नहीं करता है।

मैंने isSuccessful को 1, सत्य, हाँ के रूप में सेट करने का प्रयास किया, लेकिन उनमें से कोई भी काम नहीं करेगा।

तो मैं isSuccessful के मान कैसे बदल सकता हूं?

+4

जो आप वर्णन करते हैं उसे काम करना चाहिए। आपको कुछ और गलत करना होगा। कृपया पूर्ण क्वेरी पोस्ट करें। – Hammerite

+4

परिभाषित करें "काम नहीं करता"। क्या आपको त्रुटियां मिल रही हैं? क्या आप एक व्यवस्थापक इंटरफ़ेस में मान मैन्युअल रूप से सेट कर सकते हैं? क्या आप सुनिश्चित हैं कि आपका 'WHERE' खंड कुछ भी मेल खाता है? – deceze

+0

आपको क्या त्रुटियां मिलती हैं? 'SET असफल = 1' यह तब से मेरे लिए काम करता है ... कभी भी। – Coyote

उत्तर

16

एक साधारण अद्यतन क्वेरी पर्याप्त होना चाहिए। बूलियन फ़ील्ड हैं यदि मुझे सही ढंग से याद किया जाता है तो बस टिनिंट (1) फ़ील्ड होते हैं और क्रमशः 1 और 0 के लिए उपनाम और सत्य के रूप में स्वीकार करते हैं (स्ट्रिंग्स के रूप में)। निम्नलिखित ठीक होना चाहिए। शायद अगर आपने एक अबाधित संस्करण की बजाय अपनी सटीक क्वेरी पोस्ट की है तो कोई समस्या हल कर सकता है?

UPDATE `table` SET `isSuccessful` = 1 WHERE `column` = 'criteria' 
+0

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html से: 'MySQL 5.0.3 के रूप में, बिट-फ़ील्ड मानों को संग्रहीत करने के लिए एक बिट डेटा प्रकार उपलब्ध है। (5.0.3 से पहले, MySQL बीआईटी को टिन्यिनट (1) के रूप में व्याख्या करता है।) MySQL 5.0.3 में, बीआईटी केवल MyISAM के लिए समर्थित है। MySQL 5.0.5 मेमरी, इनो डीबी, बीडीबी, और एनडीबीसीएलस्टर के लिए बीआईटी समर्थन बढ़ाता है। ' –

+1

आप यह भी उपयोग कर सकते हैं:' SET isSUccessful = b'1'' –

+1

@ypercube यह मानता है कि ओपी ने डेटाटाइप को बीआईटी पर सेट किया है। हालांकि यह निहित है कि डेटाटाइप बुलेन सेट किया गया था जिसका अर्थ है कि यह एक टिन्यिनट क्षेत्र है। बूल, बुलेन ये प्रकार TINYINT (1) के लिए समानार्थी हैं। शून्य का मान झूठा माना जाता है। Nonzero मूल्यों को सच माना जाता है। Http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html से इसका मतलब है 'सेट है असफल = b'1'' काम नहीं करेगा? –

0

सुनिश्चित करें कि आप इस "` "चरित्र जिनमें से" ~ "कीबोर्ड पर" 1 "कुंजी के बाईं आकार पर, कि यह, क्या करना चाहिए अगर आप PHP + MySQL का उपयोग कर linux के तहत एक ही कुंजी है डाल बनाओ ।

+0

'वैकल्पिक है .. – Qix

+0

सभी के पास यूएस लेआउट नहीं है – beppe9000

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