Вы можете просто захотеть установить для его предложения по умолчанию значение CURRENT_TIMESTAMP
(как @ Пометить и @ 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)
РЕДАКТИРОВАТЬ:
В своем исходном ответе я предложил использовать столбец DATETIME
с предложением DEFAULT
, установленным вCURRENT_TIMESTAMP
.Однако это возможно только при использовании типа данных TIMESTAMP
, как указано в документации :
Предложение DEFAULT
value в спецификации типа данных указывает значение по умолчанию длястолбец.За одним исключением, значение по умолчанию должно быть константой;это не может быть функция или выражение.Это означает, например, что вы не можете установить значение по умолчанию для столбца даты равным значению функции, такой как NOW()
или CURRENT_DATE
.Исключением является то, что вы можете указать CURRENT_TIMESTAMP
в качестве значения по умолчанию для столбца TIMESTAMP
.