|
|
|
| Не могу сообразить как в таблице посещений запомнить дату первого и последнего посещений.
Пробовал вот так создать таблицу:
$q[] = "CREATE TABLE IF NOT EXISTS ".$prefix."referers (
num int(11) NOT NULL auto_increment,
first_visit TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_visit TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL ,
`count` INT DEFAULT 1 NOT NULL COMMENT 'How many visits' ,
PRIMARY KEY (num)
) TYPE=MyISAM ";
|
Но такой номер не проходит.
Ответ базы:
Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE
|
И ещё ряд вариантов перепробовал, но так результата и нет.
Хотелось бы средствами MySQL решить задачу без привлечения PHP.
Подскажите, пожалуста, что-нибудь действующее!
Желательно чтобы оба временных поля имели одинаковый формат. | |
|
|
|
|
|
|
|
для: Eugene77
(09.10.2008 в 18:08)
| | Меня это тоже в свое время удивило.
Но диагностике стоит верить.
Соответственно, для первого визита поле заполняем явным значением NOW() | |
|
|
|
|
|
|
|
для: Trianon
(09.10.2008 в 20:26)
| | Я думал, что на этот случай предусмотренно что-то ещё более изящное...
Ну, если нет, придётся делать через NOW()
Спасибо, что разъяснили! | |
|
|
|
|
|
|
|
для: Eugene77
(09.10.2008 в 18:08)
| | А может просто убрать "ON UPDATE CURRENT_TIMESTAMP" из поля last_visit, ведь ON UPDATE - это обычное поведение поля TIMESTAMP и его вообще можно не указывать.
По-моему, на это и указывает MySQL. | |
|
|
|