Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

क्या MySQL में कॉलम मान के साथ बैकटिक्स का उपयोग कर सकते हैं?

नहीं, MySQL में बैकटिक्स (`) का उपयोग केवल पहचानकर्ताओं (तालिका नाम, कॉलम नाम, डेटाबेस नाम) के लिए किया जाता है, मानों (लिटरल्स) के लिए नहीं। मानों के लिए एकल उद्धरण (') या दोहरे उद्धरण (") का उपयोग करें।

उदाहरण तालिका बनाना

mysql> CREATE TABLE DemoTable6 (
    SystemIPAddress VARCHAR(200)
);

IP पते डालना

mysql> INSERT INTO DemoTable6 VALUES ('192.68.1.0');
mysql> INSERT INTO DemoTable6 VALUES ('191.23.41.10');

गलत: मान के साथ बैकटिक्स उपयोग करना

mysql> SELECT * FROM DemoTable6 WHERE SystemIPAddress = `191.23.41.10`;

त्रुटि:

ERROR 1054 (42S22): Unknown column '191.23.41.10' in 'where clause'

कारण: MySQL बैकटिक्स में लिपटे मान को कॉलम नाम के रूप में व्याख्या करता है, स्ट्रिंग लिटरल के रूप में नहीं।

सही: मान के साथ एकल उद्धरण उपयोग करना

mysql> SELECT * FROM DemoTable6 WHERE SystemIPAddress = '191.23.41.10';

आउटपुट:

+-----------------+
| SystemIPAddress |
+-----------------+
| 191.23.41.10    |
+-----------------+

बैकटिक्स का सही उपयोग (पहचानकर्ताओं के लिए)

SELECT `SystemIPAddress` FROM `DemoTable6` WHERE `SystemIPAddress` = '191.23.41.10';

सारांश:

उपयोगउदाहरणसही/गलत
तालिका नाम`DemoTable`✓ सही
कॉलम नाम`SystemIPAddress`✓ सही
स्ट्रिंग मान'191.23.41.10'✓ सही
स्ट्रिंग मान`191.23.41.10`✗ गलत
संख्या मान123✓ सही
  1. - क्या MySQL में आरक्षित शब्द 'index' को कॉलम नाम के रूप में उपयोग कर सकते हैं?

    MySQL में बैकटिक के साथ आरक्षित शब्द index को कॉलम नाम के रूप में उपयोग करना INDEX MySQL में एक आरक्षित शब्द है। इसे कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक (`) में लपेटना आवश्यक है। व्यावहारिक उदाहरण बैकटिक के साथ तालिका बनाना CREATE TABLE DemoTable ( `index` INT ); रिकॉर्ड डालना INSE

  1. - MySQL में LIKE क्वेरी से % चिह्न वाले कॉलम मान खोजना

    ESCAPE करके % को शाब्दिक मिलान करना LIKE में % वाइल्डकार्ड है। इसे शाब्दिक % वर्ण के रूप में खोजने के लिए बैकस्लैश \ से एस्केप करें: \\%। तालिका और डेटा (%JohnSmith), (DavidMiller), (CarolTaylor%), (%DavidMiller); क्वेरी: % से शुरू होने वाले नाम SELECT * FROM DemoTable1497 WHERE Name LIKE \\%;

  1. - MySQL 8.0 में 'rank' आरक्षित शब्द: कॉलम नाम के लिए बैकटिक्स आवश्यक

    MySQL 8.0.2 से RANK एक आरक्षित शब्द (reserved word) है क्योंकि विंडो फ़ंक्शन RANK() जोड़ा गया। इसे कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक्स (`) आवश्यक हैं। समस्या ); ERROR 1064 (42000): You have an error in your SQL syntax near rank int at line 5 समाधान: बैकटिक्स उपयोग करें ); Query OK डे