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

फ़ील्ड सूची में अज्ञात स्तंभ

ऐसा इसलिए है क्योंकि आपका

VALUES (%s,%s)

उद्धरणों द्वारा नामी और पारिवारिक चर सामग्री के आसपास नहीं है। इसलिए, आपका बैक-एंड Sql इंजन आपके mohsen . के बारे में सोचता है एक कॉलम नाम है, मान नहीं।

इसके बजाय, उपयोग करें, उदा.

VALUES (''%s'',''%s'')

के रूप में

  Namee := 'mohsen';
  Family := 'dolatshah';
  aSQLText:= 'INSERT INTO b_tbl(Name,Family) VALUES (''%s'',''%s'')';
  aSQLCommand := Format(aSQLText,[namee,family]);

मेरे उत्तर के मूल संस्करण में, मैंने समझाया कि आप जिस एसक्यूएल को बनाने की कोशिश कर रहे थे, उसमें सिंगल कोट्स को "डबल अप" करके अपनी समस्या को कैसे ठीक किया जाए, क्योंकि मुझे ऐसा लग रहा था कि आपको यह देखने में कठिनाई हो रही है (शाब्दिक रूप से) क्या गलत था आप कर रहे थे।

आपकी समस्या से बचने का एक वैकल्पिक (और बेहतर) तरीका है (और जिसे मैं हमेशा वास्तविक जीवन में उपयोग करता हूं) QuotedStr() का उपयोग करना है समारोह। फिर वही कोड बन जाएगा

aSQLText := 'INSERT INTO b_tbl (Name, Family) VALUES (%s, %s)'; 
aSQLCommand := Format(aSQLText, [QuotedStr(namee), QuotedStr(family)]);

ऑनलाइन सहायता के अनुसार:

"दोहराया" से इसका क्या अर्थ है जिसे मैंने "दोहराव" के रूप में संदर्भित किया है। यह महत्वपूर्ण क्यों है, और मैं QuotedStr का उपयोग करने का मुख्य कारण यह है कि जब आप जिस मान को भेजना चाहते हैं, उसमें एक एकल उद्धरण वर्ण होता है, जैसे कि O'Reilly

MySql कार्यक्षेत्र का उपयोग करके अपनी तालिका में उस नाम वाली एक पंक्ति जोड़ने का प्रयास करें और आप देखेंगे कि मेरा क्या मतलब है।

इसलिए, QuotedStr का उपयोग करने से न केवल डेल्फी कोड में स्ट्रिंग्स के रूप में SQL कथनों का निर्माण कम त्रुटि-प्रवण होता है, बल्कि यह बैक-एंड की समस्याओं से भी बचता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं SET विकल्प का उपयोग करके INSERT क्वेरी के साथ ON DUPLICATE KEY UPDATE का उपयोग कर सकता हूं?

  2. Mysql शुरू नहीं होगा - ibdata1 भ्रष्ट? - ऑपरेटिंग सिस्टम एरर नंबर 13 - परमिशन इश्यू

  3. Play Framework का उपयोग करके SSL के माध्यम से दूरस्थ MySQL डेटाबेस से कैसे कनेक्ट करें?

  4. रूबी डेटाटाइम MySQL तुलना के लिए उपयुक्त है

  5. MySQL - मैं एक एकल INSERT कथन में कितनी पंक्तियाँ सम्मिलित कर सकता हूँ?