का उपयोग कर MySQL अद्यतन अद्यतन मुझे यह भी सुनिश्चित नहीं है कि यह संभव है, लेकिन यदि कोई निश्चित शर्त पूरी हो जाती है तो मैं अलग-अलग अद्यतन करने की कोशिश कर रहा हूं।आईएफ स्थिति
उपयोगकर्ता [आईडी, प्रारंभ_तिथि (नहीं NULL), समाप्ति_तिथि (शून्य), कारण (शून्य), .....]
user_roles [आईडी, ROLE_ID, user_id, प्रारंभ_तिथि (नहीं NULL), समाप्ति_तिथि (
UPDATE user p
JOIN user_roles ur ON p.id = ur.user_id
SET ur.end_date = NOW()
, p.end_date = NOW()
, p.reason = "Retired"
WHERE p.id = 5
AND ur.end_date IS NULL
मैं इस तरह कुछ करने का सोच रहा था:
शून्य)]है क्या मैं अभी इस लेकिन यह केवल काम करता है अगर एक भूमिका उपयोगकर्ता के लिए मौजूद है और यह end_date है शून्य है
IF EXISTS (SELECT id FROM user_roles
WHERE user_id = 5 AND end_date IS NULL)
THEN
UPDATE user p
JOIN user_roles ur ON p.id = ur.user_id
SET ur.end_date = NOW()
, p.end_date = NOW()
, p.reason = "Retired"
WHERE p.id = 5 AND ur.end_date IS NULL
ELSE
UPDATE user
SET end_date = NOW()
, reason = "Retired"
WHERE id = 5
END IF
@APC, मैं एक ही बात कर रहा था =) –