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

Mysql - ट्रिगर में डायनेमिक SQL की अनुमति नहीं है

MYSQL इन फंक्शन और TRIGGER डायनामिक इंसर्ट का समर्थन नहीं करता लेकिन प्रक्रिया गतिशील सम्मिलन का समर्थन कर सकती है।

तो आप प्रक्रिया में परिवर्तन कर सकते हैं और विशेषता_मान तालिका सम्मिलित क्वेरी में प्रक्रिया कर सकते हैं।

विशेषता_मान VALUES(product_id,column_name,val); में शामिल करें

और आपके बाद बस कॉल प्रक्रिया हो जाएगी

कॉल विशेषता_values_after_insert(2,'code',132);

DELIMITER //
drop procedure if exists attribute_values_after_insert //
CREATE PROCEDURE attribute_values_after_insert(IN product_id INT, IN 
column_name VARCHAR(100), IN val VARCHAR(100))
BEGIN
SET @sql = NULL;

INSERT INTO attribute_values VALUES(product_id,column_name,val);

SELECT concat('UPDATE product_attributes SET product_attributes.', column_name, '=', val, ' WHERE id=', product_id) INTO @sql;

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

SET @sql = NULL;
END//
DELIMITER ;

DELIMITER //



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि संख्या:3780 संदर्भ स्तंभ '%s' और संदर्भित स्तंभ '%s' विदेशी कुंजी बाधा '%s' में असंगत हैं

  2. क्या आप MySql में ऑटो-इन्क्रीमेंट का उपयोग कर सकते हैं, यह प्राथमिक कुंजी नहीं है

  3. Mysql.h गुम है और mysql-devel को खोजने का प्रयास कर रहा है

  4. चेतावनी:mysql_error ():आपूर्ति किया गया तर्क मान्य MySQL-Link संसाधन नहीं है

  5. ETL प्रक्रिया में Python और MySQL का उपयोग करना:SQLAlchemy