どうやら、mysqlでは、tableにtimestamp型がある場合、一方?のtimestamp型に
default=CURRENT_TIMESTAMP と on update CURRENT_TIMESTAMP が設定されるみたい。
mysql> desc message; +----------------+-------------+------+-----+---------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +----------------+-------------+------+-----+---------------------+-----------------------------+ | msg_id | int(11) | NO | PRI | NULL | auto_increment | | id | int(11) | YES | | NULL | | | msg | text | YES | | NULL | | | from_group | varchar(8) | YES | | NULL | | | from_group_sub | varchar(8) | YES | | NULL | | | to_group | varchar(8) | YES | | NULL | | | to_group_sub | varchar(8) | YES | | NULL | | | update_user | varchar(32) | YES | | NULL | | | update_time | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | read_user | varchar(32) | YES | | NULL | | | read_time | timestamp | NO | | 0000-00-00 00:00:00 | | +----------------+-------------+------+-----+---------------------+-----------------------------+
なので、次のsql分で解消
alter table message modify update_time timestamp default '0000-00-00 00:00:00'
mysql> desc message; +----------------+-------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+-------------+------+-----+---------------------+----------------+ | msg_id | int(11) | NO | PRI | NULL | auto_increment | | id | int(11) | YES | | NULL | | | msg | text | YES | | NULL | | | from_group | varchar(8) | YES | | NULL | | | from_group_sub | varchar(8) | YES | | NULL | | | to_group | varchar(8) | YES | | NULL | | | to_group_sub | varchar(8) | YES | | NULL | | | update_user | varchar(32) | YES | | NULL | | | update_time | timestamp | NO | | 0000-00-00 00:00:00 | | | read_user | varchar(32) | YES | | NULL | | | read_time | timestamp | NO | | 0000-00-00 00:00:00 | | +----------------+-------------+------+-----+---------------------+----------------+