create table test (id int, changed timestamp);
insert into test (id, changed) values (1, now());
insert into test (id, changed) values (2, now());
insert into test (id, changed) values (3, now());
select * from test;
+----+---------------------+
| id | changed |
+----+---------------------+
| 1 | 2015-07-14 14:58:00 | <-- correct
| 2 | 2015-07-14 14:58:02 |
| 3 | 2015-07-14 14:58:04 |
+----+---------------------+
update test set id = 5 where id = 1; -- nothing with 'changed' specified!
select * from test;
+----+---------------------+
| id | changed |
+----+---------------------+
| 5 | 2015-07-14 15:00:00 | <-- wrong! why?
| 2 | 2015-07-14 14:58:02 |
| 3 | 2015-07-14 14:58:04 |
+----+---------------------+
См. Раздел изменен, я хотел установить id и не изменен. Первый раз, когда база данных делает это на мне.MySQL изменил «измененный» столбец на обновление сам по себе
Почему MySQL это делает?
Как я могу остановить это поведение?
Похоже, что часть времени изменена на время, когда запись была обновлена. – Cyclonecode