2010-03-24 13 views
7

जांच अगर मैं इस बयान का प्रयास करें:MySQL क्यों मना करता पाइप ('|') वर्ण सम्मिलित पर स्ट्रिंग में

INSERT INTO TerminalEventChild (id,stringValue) VALUES 
(64,'version123|'); 

MySQL के साथ विफल:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''version123' at line 1 
SQLState: 42000 
ErrorCode: 1064 

अगर मैं हटाने | चरित्र, सब कुछ ठीक काम करता है। कोई उपाय?

+0

क्या आपने बचने की कोशिश की है | बैकस्लैश के साथ? – erenon

+0

हाँ, और मुझे वही चीज़ मिल गई। मैंने पाइप को दोगुना करने की कोशिश की लेकिन उसी परिणाम के साथ। –

+0

यह ** एसक्यूएल गिलहरी क्लाइंट ** पर लागू होता है। नीचे दिए गए उत्तर को देखें: http://stackoverflow.com/a/7444934/1188357 – Kiril

उत्तर

3

मेरी मशीन पर, यह ठीक काम करता है:

CREATE TABLE TerminalEventChild (id INT, stringValue VARCHAR(200)); 

INSERT INTO TerminalEventChild (id,stringValue) VALUES 
(64,'version123|'); 

शायद, अपने ग्राहक विशेष रूप से पाइप चरित्र व्यवहार करता है।

आप किस ग्राहक का उपयोग करते हैं?

+0

तो, समस्या क्या थी? – nos

+0

ठीक है, मैंने बस mysql कमांड लाइन के साथ प्रयास किया और यह ठीक काम किया। मैं SQuirreLSQL का उपयोग कर रहा हूँ। मैं उनके साथ जांच करूंगा। धन्यवाद! –

+0

मैं इस काम की पुष्टि भी कर सकता हूं। मैंने इसे लिनक्स बॉक्स पर mysql cli (5.1.42) का उपयोग करने की कोशिश की। –

17

मुझे Incorrect query parsing - ID: 3091322 पर समाधान मिला।
गिलहरी एसक्यूएल एक प्रक्रिया/फ़ंक्शन सेपरेटर के रूप में पाइप प्रतीक का उपयोग कर रहा है, इसलिए आपको कुछ और उपयोग करने के लिए MySQL वरीयताओं को बदलने की आवश्यकता है (उदा। |||)।

"प्रक्रिया> फ़ंक्शन सेपरेटर" फ़ील्ड में "फ़ाइल> वैश्विक प्राथमिकताएं> MySQL" टैब में, को प्रतिस्थापित करें। एक अलग स्ट्रिंग के साथ, उदाहरण के लिए |||

+0

मेरे मामले में काम किया, गिलहरी पाइप हैंडलिंग अपराधी था। – olefebvre

+0

मुझे एक ही समस्या थी धन्यवाद @ anne-marie –

+0

मैं गिलहरी का उपयोग कर रहा हूं और यह मेरी समस्या भी थी। नहीं पता था कि गिलहरी ने अन्य सामानों के लिए पाइप का इस्तेमाल किया था। –

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