Я использую PHPMyAdmin, и у меня есть столбец MySQL, называемый «timestamp». Тип (сюрприз!) – TIMESTAMP
, а в «атрибутах» я установил его в ON UPDATE CURRENT_TIMESTAMP
.
Однако каждая новая запись получает отметку времени, которая выглядит так:
0000-00-00 00:00:00
Я явно установил значение по умолчанию равным none, но когда я сохраняю и возвращаюсь к просмотру, он устанавливается на все нули, как указано выше.
Соответствующая страница записей PHP попадает по этому запросу:
$query = "INSERT INTO `pagehit` (user_id, pageurl) VALUES ('" . $userid . "', '" . $pageurl . "')";
Все это работает под XAMPP.
Что мне не хватает?
Что мне не хватает?
Вы не обновляете 🙂
Используйте DEFAULT CURRENT_TIMESTAMP
вместе с ON UPDATE CURRENT_TIMESTAMP
Попробуйте установить значение по умолчанию для CURRENT_TIMESTAMP
вместо того, чтобы поместить его в атрибуты.
Справочник по MySQL
Если в столбце timestamp
отображается только время вставки, используйте только
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
В противном случае, если это время модификации, используйте, например, следующее
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
В моем случае это работает так:
В phpMyAdmin:
ALTER TABLE `name_table` ADD `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
В PHP sintax для строки:
date('Ymd H:i:s')