Üç ifadeyi de birleştirmenin bir yolu olduğuna inanmıyorum. Buna en yakın şey gerçekten size yardımcı olmaz ve bu bir SET SELECT'dir. En iyi bahsiniz bir tetikleyicidir. Aşağıda sık sık böyle bir denetim izi (PHP ile inşa edilmiş) korumak için kullandığım bir tetikleyici örneği:
$trigger = "-- audit trigger --\nDELIMITER $ \n".
"DROP TRIGGER IF EXISTS `{$prefix}_Audit_Trigger`$\n".
"CREATE TRIGGER `{$prefix}_Audit_Trigger` AFTER UPDATE ON `$this->_table_name` FOR EACH ROW BEGIN\n";
foreach ($field_defs as $field_name => $field) {
if ($field_name != $id_name) {
$trigger .= "IF (NOT OLD.$field_name <=> NEW.$field_name) THEN \n".'INSERT INTO AUDIT_LOG ('.
'Table_Name, Row_ID, Field_Name, Old_Value, New_Value, modified_by, DB_User) VALUES'.
"\n ('$this->_table_name',OLD.$this->_id_name,'$field_name',OLD.$field_name,NEW.$field_name,".
"NEW.modified_by, USER()); END IF;\n";
}
}
$trigger .= 'END$'."\n".'DELIMITER ;';