1
У меня есть таблица с некоторыми записями. Теперь я хочу добавить к нему «созданные» и «обновленные» столбцы. Я использую запросы, подобные этомуДобавление времени создания, времени изменения в существующую таблицу в mysql
ALTER TABLE employee ADD COLUMN updated TIMESTAMP NOT NULL DEFAULT
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Но это создает столбцы со значением как все нули. Я хочу, чтобы это была текущая временная метка.
Пример:
mysql> select * from employee;
+----+------+
| id | name |
+----+------+
| 1 | a |
| 2 | b |
| 3 | c |
+----+------+
3 rows in set (0.00 sec)
mysql> alter table employee add column updated timestamp not null default current_timestamp on update current_timestamp;
Query OK, 3 rows affected (0.20 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> select * from employee;
+----+------+---------------------+
| id | name | updated |
+----+------+---------------------+
| 1 | a | 0000-00-00 00:00:00 |
| 2 | b | 0000-00-00 00:00:00 |
| 3 | c | 0000-00-00 00:00:00 |
+----+------+---------------------+
3 rows in set (0.00 sec)
mysql> update employee set name='aa' where id='1';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from employee;
+----+------+---------------------+
| id | name | updated |
+----+------+---------------------+
| 1 | aa | 2015-12-10 15:41:44 |
| 2 | b | 0000-00-00 00:00:00 |
| 3 | c | 0000-00-00 00:00:00 |
+----+------+---------------------+
3 rows in set (0.00 sec)
mysql> alter table employee add column city varchar(10) not null default 'banglore';
Query OK, 3 rows affected (0.17 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> select * from employee;
+----+------+---------------------+----------+
| id | name | updated | city |
+----+------+---------------------+----------+
| 1 | aa | 2015-12-10 15:41:44 | banglore |
| 2 | b | 0000-00-00 00:00:00 | banglore |
| 3 | c | 0000-00-00 00:00:00 | banglore |
+----+------+---------------------+----------+
3 rows in set (0.00 sec)
Похоже DEFAULT CURRENT_TIMESTAMP не работает
отлично работает на моей машине (F23 с 'MySQL Ver 15.1 Distrib 10.0.21-MariaDB, для Linux (x86_64) используя readline 5.1'). Какую версию MySQL вы используете? – Mureinik
mysql Ver 14.14 Распространение 5.5.44 для debian-linux-gnu (x86_64) с использованием readline 6.3 – Turtle
Руководство (для вашей версии) охватывает все это довольно подробно – Strawberry