तो, मेरे पास एक MySQL तालिका है, जिसका नाम कर्मचारियों है।अद्यतन ट्रिगर से पहले MySQL - मूल्य बदलें
ID name meta
0 jack ok
1 anne del
मैं एक ट्रिगर लिखना चाहता हूं जो एक पंक्ति को रोकता है जहां मेटा = 'डेल' मेटा फ़ील्ड को अपडेट करने के लिए। तो, अगर मैं ऐसा:
UPDATE employees SET meta = 'busy' WHERE ID = 0
पंक्ति अद्यतन किया जाना चाहिए और मेटा 'व्यस्त'
लेकिन जब मैं करना होगा:
UPDATE employees SET meta = 'busy' WHERE ID = 1
मेटा क्षेत्र अभी भी 'होना चाहिए डेल '
मैंने कोशिश की:
delimiter $$
CREATE TRIGGER updateEmployees
BEFORE UPDATE ON employees
FOR EACH ROW
BEGIN
IF OLD.meta = 'del' THEN
NEW.meta = 'del'
END IF;
END$$
delimiter ;
लेकिन MySQL एक वाक्यविन्यास त्रुटि के साथ देता है। कोई विचार?
ट्रिगर अभी भी काम नहीं करता है लेकिन मैंने आपके दूसरे समाधान के साथ जाने का फैसला किया है। धन्यवाद! –
आपका स्वागत है ': डी' –
ट्राइगर बुरा क्यों है? यह एक बहुत शक्तिशाली उपकरण है जो डाटाबेस प्रशासक डेटा अखंडता नियमों को लागू करने के लिए उपयोग कर सकते हैं। ऐसे माहौल में जहां डेटा अखंडता सर्वोपरि है (उदाहरण के लिए कॉर्पोरेट रिकॉर्ड) ट्रिगर्स एप्लिकेशन डेवलपर्स पर भी लागू करने के लिए एक मूल्यवान संसाधन प्रदान करते हैं। मैं अब अपने व्यक्तिगत विकास में ट्रिगर्स का उपयोग करता हूं क्योंकि वे मेरे लिए एक छोटे से प्रदर्शन ओवरहेड पर डेटा अखंडता को लागू करते हैं, जो वही जांच कर रहे एप्लिकेशन द्वारा वैसे भी खो जाएगा ... – lassombra