Вы можете просто хотите установить его положение по умолчанию CURRENT_TIMESTAMP
(как @Mark и @dcp отметил в других ответов):
CREATE TABLE your_table (
...
`created_timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Контрольный пример:
CREATE TABLE tb (`a` int, `c` TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.04 sec)
INSERT INTO tb (a) VALUES (1);
Query OK, 1 row affected (0.01 sec)
SELECT * FROM tb;
+------+---------------------+
| a | c |
+------+---------------------+
| 1 | 2010-06-09 23:31:16 |
+------+---------------------+
1 row in set (0.00 sec)
UPDATE tb SET a = 5;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
SELECT * FROM tb;
+------+---------------------+
| a | c |
+------+---------------------+
| 5 | 2010-06-09 23:31:16 |
+------+---------------------+
1 row in set (0.00 sec)
EDIT:
В моем первоначальном ответе я предложил использовать столбец DATETIME
с предложением DEFAULT
, установленным на CURRENT_TIMESTAMP
. Однако это возможно только при использовании типа TIMESTAMP
данных, так как stated in documentation:
DEFAULT
ОГОВОРКА значение в спецификации типа данных указывает на то значение по умолчанию для столбца. За одним исключением значение по умолчанию должно быть константой; это не может быть функцией или выражением. Это означает, например, что вы не можете установить значение по умолчанию для столбца даты как значение функции, например NOW()
или CURRENT_DATE
. Исключением является то, что вы можете указать CURRENT_TIMESTAMP
как значение по умолчанию для столбца TIMESTAMP
.
Не обязательно, вы можете установить его не на авто -Обновить. – dcp
По умолчанию отметка времени не обновляется. – ajacian81