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

क्या मैं MySQL ट्रिगर्स का उपयोग करके अभी जोड़ी गई पंक्ति को अपडेट कर सकता हूं?

जैसा कि ज़र्कम्स ने कहा था, आपको डिलीमीटर बदलने की जरूरत है। लेकिन चूंकि आप कोड की केवल 1 पंक्ति का उपयोग करते हैं, इसलिए आपको BEGIN और END की आवश्यकता नहीं है। और इस तरह, आपको या तो सीमांकक बदलने की आवश्यकता नहीं है

CREATE TRIGGER `default_order_value` 
AFTER INSERT ON `clusters` 
FOR EACH ROW  
    UPDATE `clusters` SET `order` = NEW.id WHERE `id` = NEW.id; 

चूंकि आपको एक त्रुटि मिल रही है, आप पंक्ति को अपडेट नहीं कर सकते, मैं निम्नलिखित का सुझाव देता हूं:

अद्यतन क्वेरी बिल्कुल न करें। डिफ़ॉल्ट रूप से ऑर्डर वैल्यू =आईडी वैल्यू। इसलिए जब ऑर्डर का मूल्य बदलता है, तो आप इसे ठीक से अपडेट कर सकते हैं।

यदि आप php के साथ डेटा का अनुरोध कर रहे हैं, तो कुछ इस तरह करें:

$order = $row['order'];
if ($order == '')
    $order = $row['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. XAMPP के साथ आसानी से वेब सर्वर सेट करें

  2. सफल निष्पादन के बाद मेरी नोडज स्क्रिप्ट अपने आप बाहर नहीं निकल रही है

  3. कॉमा ने एक फ़ील्ड में एकाधिक स्वत:पूर्ण को अलग किया

  4. Azure पर Laravel ऐप:उपयोगकर्ता 'azure'@'localhost' के लिए प्रवेश निषेध

  5. SQL_NO_CACHE का उपयोग कब करें