Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SQL नाम में फ़ॉरवर्ड स्लैश से बचना? इसे बचाया जा सकता है, लेकिन SQL इसे कई कॉलम मानता है

SQL सर्वर में, पहचानकर्ताओं को वर्गाकार कोष्ठकों का उपयोग करके सीमांकित किया जा सकता है, उदा.

SELECT [gallons/units] ...

MySQL में, पहचानकर्ताओं को बैकटिक्स का उपयोग करके सीमांकित किया जा सकता है, उदा.

SELECT `gallons/units` ...

(नोट:यदि MySQL SQL_MODE ANSI_QUOTES . शामिल है , फिर दोहरे उद्धरण चिह्नों को पहचानकर्ताओं के लिए सीमांकक के रूप में माना जाता है, ठीक उसी तरह जैसे Oracle दोहरे उद्धरण चिह्नों को संभालता है; अनुपस्थित है कि सेटिंग, डबल कोट्स को स्ट्रिंग अक्षर के लिए डिलीमीटर के रूप में संभाला जाता है। ANSI_QUOTES . के साथ शामिल SQL_MODE , "gallons/units" एक पहचानकर्ता (स्तंभ नाम) के रूप में व्याख्या की जाएगी। बिना ANSI_QUOTES . के , MySQL इसे एक स्ट्रिंग अक्षर के रूप में देखेगा, जैसे कि यह सिंगल कोट्स में संलग्न हो।)

अनुवर्ती:

जहाँ तक त्रुटि "operand should contain only 1 column(s)" , यह आमतौर पर क्वेरी सेमेन्टिक्स के साथ एक समस्या है, न कि बचने वाले पहचानकर्ताओं के साथ कोई समस्या है।

चयन सूची में एक सबक्वेरी केवल एक अभिव्यक्ति लौटा सकती है, उदाहरण के लिए, यह एक त्रुटि देगा:

Query: SELECT 'foo' , ( SELECT 'fee' AS fee, 'fi' AS fi )

Error Code: 1241
Operand should contain 1 column(s)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql में सभी प्रश्नों को लॉग करें

  2. कुल कार्यों के बिना mysql में संबंधपरक विभाजन?

  3. MYSQL में एक सबक्वेरी में LIMIT कीवर्ड का उपयोग करने का विकल्प

  4. MySQL आप सुरक्षित अपडेट मोड का उपयोग कर रहे हैं और आपने WHERE के बिना तालिका को अपडेट करने का प्रयास किया है

  5. आंतरिक शामिल होने का उपयोग करके पंक्तियों को हटाते समय विदेशी कुंजी बाधा होना