On 2015/04/09 13:42, Michael Dykman wrote:
A trigger is far simpler than remodelling your data and adding extra
queries. They are nothing to be afraid of.
Not afraid of, but to be careful when writing. I have had trouble with
my triggers, because I left this&that out. As for timestamping, MySQL
already does much which the SQL programmer wants and cannot come at:
"An auto-updated column is automatically updated to the current
timestamp when the value of any other column in the row is changed from
its current value. An auto-updated column remains unchanged if all other
columns are set to their current values."
It would be great if besides the special rows NEW and OLD found in
triggers there were also a row of two-state values (BOOL(EAN) with no
NULL, or maybe that queer suggestion of CHAR(0) with NULL) that showed
whether the field is the same in the update or not, because MySQL, as
aforesaid, checks for that, and writing such triggers would be much
easier. One could write
IF (SAM.a, SAM.b, SAM.c, SAM.d) <> (TRUE,TRUE,TRUE,TRUE) THEN
update timestamp
END IF
with no worrie over dealing with NULL. A trigger is always called on an
attempt, whether there is change or not.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql