मैं एक अद्यतन ट्रिगर लिखने की कोशिश कर रहा हूं जो अपडेट स्टेटमेंट में नया पासवर्ड सेट होने पर केवल एक पासवर्ड अपडेट करेगा, लेकिन मुझे वाक्यविन्यास को कम करने का प्रयास करने में एक भयानक समय है। यह एक ब्रेनर होना चाहिए लेकिन मुझे समाधान नहीं मिल रहा है।यदि स्थिति मौजूद है तो MySQL ट्रिगर
CREATE TRIGGER upd_user BEFORE UPDATE ON `user`
FOR EACH ROW BEGIN
IF (NEW.password <> '') THEN
SET NEW.password = PASSWORD(NEW.password);
END IF;
END;
मैं कोशिश की है:
यहाँ मेरी कोड है
IF (NEW.password <> NULL) THEN
IF (NEW.password) THEN
IF NEW.password <> NULL THEN
IF (NEW.password > 0) THEN
IF (NEW.password != NULL) THEN
और मुझे यकीन है कई अन्य संयोजन कर रहा हूँ, लेकिन यह सिर्फ काम नहीं कर रहा। क्या किसी के पास कोई अंतर्दृष्टि है?
मुझे लगता है कि वह इस ट्रिगर में पासवर्ड एन्क्रिप्शन को लागू करने का मतलब है। –
@yper - मैंने इसे छोड़ दिया लेकिन जिस हिस्से पर मैं हमला कर रहा था वह तथ्य था कि पुराने को संरक्षित करने के लिए, आपको वास्तव में ट्रिगर – RichardTheKiwi
में इसे * बैक * सेट करना होगा, शायद वह 'डेलीमीटर' का उपयोग करके सही ढंग से सही नहीं है, जैसे कि उसके पिछले प्रश्न :) –