Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Первое и последнее посещение
 
 автор: Eugene77   (09.10.2008 в 18:08)   письмо автору
 
 

Не могу сообразить как в таблице посещений запомнить дату первого и последнего посещений.
Пробовал вот так создать таблицу:
$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.

Подскажите, пожалуста, что-нибудь действующее!
Желательно чтобы оба временных поля имели одинаковый формат.

  Ответить  
 
 автор: Trianon   (09.10.2008 в 20:26)   письмо автору
 
   для: Eugene77   (09.10.2008 в 18:08)
 

Меня это тоже в свое время удивило.
Но диагностике стоит верить.

Соответственно, для первого визита поле заполняем явным значением NOW()

  Ответить  
 
 автор: Eugene77   (10.10.2008 в 18:47)   письмо автору
 
   для: Trianon   (09.10.2008 в 20:26)
 

Я думал, что на этот случай предусмотренно что-то ещё более изящное...
Ну, если нет, придётся делать через NOW()
Спасибо, что разъяснили!

  Ответить  
 
 автор: sp10   (10.10.2008 в 12:36)   письмо автору
 
   для: Eugene77   (09.10.2008 в 18:08)
 

А может просто убрать "ON UPDATE CURRENT_TIMESTAMP" из поля last_visit, ведь ON UPDATE - это обычное поведение поля TIMESTAMP и его вообще можно не указывать.
По-моему, на это и указывает MySQL.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования