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

mysql संग्रहीत फ़ंक्शन में पैरामीटर के रूप में कॉलम नाम पास करना

आपके दृष्टिकोण में कुछ समस्याएं हैं। सबसे पहले आप अपने तर्क का उपयोग नहीं कर सकते मान अंतर्निहित कॉलम को संदर्भित करने के लिए। अच्छी बात यह है कि आप तैयार स्टेटमेंट का इस्तेमाल कर सकते हैं इसके लिए समाधान के रूप में।

दूसरी समस्या यह है कि MySQL फ़ंक्शन तैयार किए गए कथनों के उपयोग की अनुमति नहीं देता है। उस सीमा को हल करने के लिए आपको इसके बजाय संग्रहित प्रक्रियाओं का उपयोग करने की आवश्यकता है। उदाहरण के तौर पर:

CREATE PROCEDURE test_func (IN col1 varchar(100), OUT res int)
BEGIN

SET @s=CONCAT('SELECT ',col1,' INTO @res FROM yourtable WHERE id=1');
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;

SELECT @res INTO res;

END


  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. Node.js ssh . के माध्यम से जुड़ रहा है

  3. php . के माध्यम से mysql के साथ utf8 सेट करना

  4. mysql डेटाबेस से कई स्तंभों के साथ चयन बॉक्स

  5. जावा त्रुटि 1070 . में सुअर यूडीएफ