データ更新時に、元データを別カラムに追記録していく(際の注意点も)

CONCAT関数が使える

mysql> UPDATE tbl SET 
status='NG',
up_time = NOW(), 
up_time_log = CONCAT(IFNULL(up_time_log,''),CONCAT(',',up_time)) 
WHERE id = ?

例えば、上記SQLのように更新時間をup_time_logカラムに全て残しておきたい場合(ログデータを取るほどでもない)
注意しておきたいのは、UPDATEが左から順次実行されて拾っていくこと

分かり易いのが、次の例で

mysql> UPDATE data SET price=price-1000, discount_rate=(price-1000)/price;

割引きした値段と、元値の割引率をセットしようとしても、割引率セットの前に既にpriceは1000円引かれているので、正しい値が入りません。
よって

オリジナルの値を変更する処理が入る場合は、それを一番最後に持ってくるのが鉄則

mysql> UPDATE data SET discount_rate=(price-1000)/price, price=price-1000;

なので、最初のSQL

mysql> UPDATE tbl SET 
status='NG',
up_time_log = CONCAT(IFNULL(up_time_log,''),CONCAT(',',up_time)), 
up_time = NOW() 
WHERE id = ?

となります。

MySQLリファレンス