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

नई ऑटो-इन्क्रीमेंट आईडी के साथ अपडेट कॉलम डालने से पहले MySQL ट्रिगर

AUTO_INCREMENT कॉलम केवल बाद सेट किए गए हैं डालना।

अगर आपको पहुंच की आवश्यकता है वह मान, आप केवल AFTER INSERT . में ही कर सकते हैं चालू कर देना। हालांकि, आप संशोधित नहीं कर सकते AFTER UPDATE में कॉलम मान ट्रिगर...

इसके अलावा, आप अपने AFTER INSERT . में उपयोग की गई टेबल पर अपडेट नहीं कर सकते हैं (http://dev.mysql के रूप में ट्रिगर करें। com/doc/refman/5.0/hi/stored-program-restrictions.html ):

यहां एकमात्र उचित समाधान तालिका को अद्यतन करने के लिए एक संग्रहीत प्रक्रिया बनाना होगा, लेनदेन में प्रासंगिक कॉलम को "अनुकरण" करने के लिए आपको परमाणु सम्मिलन कथन समायोजित करना होगा।

कहा जा रहा है, आपके विशेष मामले में , key कॉलम बेमानी है क्योंकि वह कॉलम एक ही पंक्ति के दो अन्य स्तंभों का संयोजन मात्र है।

इसके नाम को देखते हुए, क्या आप इसके बजाय एक कंपाउंड कुंजी बनाने का तरीका नहीं खोज रहे हैं? कुछ ऐसा:

ALTER TABLE tbl ADD UNIQUE KEY (countryCode, id);



  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. php इको पहली पंक्ति प्रतीक्षा/नींद फिर दूसरी पंक्ति गूंजें

  3. PHP ::PDO का उपयोग करके चर के साथ mysql स्क्रिप्ट को कैसे निष्पादित करें?

  4. CURRENT_DATE उदाहरण – MySQL

  5. यदि कोई परिणाम नहीं हैं तो MySQL डिफ़ॉल्ट मान का चयन कर रहा है?