Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Update и Insert с учётом времени 
:(
    Опции темы
Klio
  Дата 21.10.2009, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 18.4.2008
Где: Харьков - СС_3

Репутация: нет
Всего: 1



Здравствуйте.
такой вопрос - 
мне нужно сделать одну операцию из двух: добавить или обновить -- за один запрос
но проблема в том что в игру вступает время и некоторые другие параметры.
база: base --> поля: type (varchar), who (varchar), DT (DATETIME), number(int);
- нужно обновить запись [number=number+1 и DT=Now()  ] 
        если за 10 минут были записи где who='xxx' и type='in',
- или добавить новую запись;

если отдельно то 
Код

update base number=number+1, DT=Now() where typr='in' and who='xxx' and 600>Now()-DT;   ]
insert into base value('in','xxx',now(),1);

[Primary Key - type] [поля type и who могут быть различными]

вытался сделать так но невышло (что не так)?
Код

INSERT INTO error 
    VALUE ('enter', '', 'Add', NOW(), '', 1)
ON who='Add',600>NOW()-DT 
UPDATE
    DT = NOW(), number = number + 1;

Заранее спасибо
PM MAIL ICQ   Вверх
Akina
Дата 21.10.2009, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



не... это работа для триггера, а не для запроса. Или для пользовательской функции, или для хранимой процедуры...
Я бы делал триггер BEFORE INSERT и просто вставлял запись.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Klio
Дата 21.10.2009, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 18.4.2008
Где: Харьков - СС_3

Репутация: нет
Всего: 1



с триггерами и процедурами пока не работал, так что не знаю как такое сделать.
PM MAIL ICQ   Вверх
Akina
Дата 21.10.2009, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Идёте на оф. сайт MySQL, скачиваете мануал и читаете. Ничего там сложного нет.
Ну и поиск по форуму по словам "Create Trigger".


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.