2009-09-18 12 views
16

मैं इस डेटाSQLite अद्यतन सिंटेक्स?

id , name , description 
1 , apple , '' 
2 , orange , '' 

मैं पंक्ति अपडेट करने के विवरण कॉलम 'सेब का वर्णन' और 'नारंगी का वर्णन' है निम्नलिखित बयान पारित करने के लिए कोशिश कर रहा हूँ के साथ एक मेज है, लेकिन यह काम नहीं कर रहा है।

तारों को संयोजित करने के लिए उचित वाक्यविन्यास क्या है?

उत्तर

47

SQLite के string concatenation operator "||" नहीं "+"

UPDATE TestTable SET description = 'desc of ' || name; 
+0

+ नहीं स्ट्रिंग संयोजन के लिए मानक SQL सिंटैक्स है,। –

+8

स्ट्रिंग concatenation के लिए एक मानक एसक्यूएल सिंटेक्स है? ऐसा लगता है कि प्रत्येक डीबी एक अलग का उपयोग करता है। MySQL कंसैट() फ़ंक्शन का उपयोग करता है, एसक्यूएल लाइट का उपयोग कर ||, SQL सर्वर उपयोग करता है +। निश्चित रूप से कुछ जो मानकीकृत होना चाहिए। – Kibbee

+1

हां, एक मानक एसक्यूएल वाक्यविन्यास है। यह '|| 'है, [अपनाया गया] [https://books.google.com/books?id=6jqZExL6UGcC&pg=PA106&dq=concatenation+infixed+operator&hl=hi&sa=X#v=onepage) [SQL-92 मानक में आईएसओ/आईईसी 9075: 1 99 2] (https://www.google.com/search?sclient=psy-ab&biw=1920&bih=979&q=%22concatenation+operator%22+ISO%2FIEC+9075:1992+X3H2-92-154 +% 22double + अवधि% 22)। यह सिर्फ इतना है कि SQL सर्वर और MySQL ने मानक का अनुपालन नहीं करना चुना है। हालांकि MySQL को ['PIPES_AS_CONCAT'] सेट करके coaxed किया जा सकता है (http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_pipes_as_concat) –

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