以下のステートメントなしで更新せずにテーブルのタイムスタンプを更新するにはどうすればよいですか?
update table_name set field_name1 = 1 where field_name =1;
テーブル構造の画像を追加しました
を使用せずに更新することはできませんUPDATE
。
タイムスタンプ列については、MySQLドキュメント:TIMESTAMPの自動初期化と更新をお読みください
列が自動更新される場合、行の他の列の値が現在の値から変更されると、現在のタイムスタンプに自動的に更新されます。他のすべての列が現在の値に設定されている場合、列は変更されません。他の列が変更されたときに列が更新されないようにするには、列を現在の値に明示的に設定します。
他の列が変更されていない場合でも列を更新するには、列を本来あるべき値に明示的に設定します(たとえば、に設定します
CURRENT_TIMESTAMP
)。
したがって、タイムスタンプ列のみを更新します。
UPDATE table_name
SET last_delv_date = CURRENT_TIMESTAMP
WHERE ... ;
UPDATE table_name
SET columnNAME = CURRENT_TIMESTAMP
WHERE columnName = ???
編集:
または、テーブル構造を次のように変更します。
ON UPDATE CURRENT_TIMESTAMP