







|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
2897
|
|