Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
орять траблы!!! (Лена) 14/05/2002 - 17:17:10
      Re: орять траблы!!! (Лена) 14/05/2002 - 17:29:12
      Re: опять траблы!!! (Вик) 14/05/2002 - 21:16:34
      Re: орять траблы!!! (walrus) 15/05/2002 - 07:27:55
      Re: орять траблы!!! (Вик) 15/05/2002 - 15:48:20

> Original message text:
> From: Лена - 14/05/2002 - 17:17:10
> Subject:орять траблы!!!
> -----------------
> суть проблемы - имеется таблица, одно из полей DATETIME.
> в таблицу постоянно пишутся какие-то данные. причем, если за этот час записи не было, то они добавляютя. если же за текущий час уже есть запись, то она обновляется... как это реализовать???
> помогите плиз!!!!
> спасибо.
>


From: Вик - 14/05/2002 - 21:16:34
Subject:опять траблы!!!
-----------------
Hello, Лена!
Попробуй следующий алгоритм. Достаточно прозрачный такой (чтоб не запутаться). Если подходит, то его и используй.

Поле с датой (формат DATETIME) назовём 'date'.

Итак, перед вставкой данных в таблицу:

1) Сделай DELETE FROM table WHERE
DATE_FORMAT(date, '%Y%m%d%H') = DATE_FORMAT(NOW(), '%Y%m%d%H');
Таким образом все записи текущего часа гарантированно удалятся, если они есть (или их нет). Дубликата всё равно не будет.

2) Потом вставь в таблицу новое значение текущего часа.

Другой алгоритм, более путаный: сначала посмотри в таблице, есть ли записи текущего часа. Если есть, то сделай им UPDATE, а если нет, то сделай INSERT..


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
2897



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |