2011-03-10 12 views
7

मेरे पास वर्तमान में एक जावा क्लाइंट एक्सेसिंग और डेटाबेस का उपयोग कर एक MySQL डेटाबेस स्थापित है। मुझे यह निर्धारित करने के लिए डेटाबेस में एक बूलियन डेटा प्रकार की आवश्यकता है कि डेटाबेस के विभिन्न उपयोगकर्ताओं द्वारा कुछ कार्रवाइयों की अनुमति है या नहीं। बूलियन का सबसे अच्छा कार्यान्वयन क्या है जिसका उपयोग आप MySQL में कर सकते हैं क्योंकि कोई बूलियन डेटा प्रकार नहीं है?डेटाबेस से कनेक्ट करने के लिए जावा का उपयोग कर MySQL में बूलियन के लिए सबसे अच्छा कार्यान्वयन क्या है?

मुझे पता है कि TinyIntsetByte(int parameterIndex, byte x के साथ एक PreparedStatement के साथ प्रयोग किया जा सकता है और मुझे यह भी पता है कि Bit भी setBoolean(int parameterIndex, boolean x) के साथ प्रयोग किया जा सकता है। बूलियन मूल्य के लिए इनमें से कौन सा बेहतर समाधान है? और यदि कोई बेहतर समाधान है, तो यह क्या होगा?

उत्तर

6

Boolean MySQL में TINYINT(1) का समानार्थी है; Bit, साथ ही, यदि बिट्स की संख्या पर्याप्त छोटा है। MySQL ऑपरेशन के दृष्टिकोण से, यह आपके द्वारा उपयोग किए जाने वाले छोटे अंतर को बनाता है। "बेहतर" से आपका क्या मतलब है?

+0

जब मेरा मतलब बेहतर होता है तो मेरा मतलब है कि क्लाइंट के रूप में जावा का उपयोग करते समय आमतौर पर लागू करना या उपयोग करना आसान है? – LOD121

1

आपको लगता है कि आप जेडीबीसी के setBoolean का उपयोग कर MySQL के BOOL को संबोधित नहीं कर सकते हैं - आप कर सकते हैं। इस प्रकार, सबसे अच्छा विकल्प कॉलम को BOOL के रूप में घोषित करना है और setBoolean का उपयोग करना है। भले ही MySQL TINYINT पर आपकी घोषणा को उपनाम देगा, आपका एसक्यूएल घोषित करता है कि आप क्या उपयोग करना चाहते हैं और आपका जावा कोड उस स्तर पर भी स्पष्ट करता है।

+0

तो परिणामसेट.getBoolean (colunmn) काम करेगा? –

+0

@sheldonCooper, मैंने चेक नहीं किया है, लेकिन स्मृति से, हाँ। –

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

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