16.07.2011, 21:49 | #1 |
Эксперт
Регистрация: 17.11.2009
Адрес: Донбасс
Сообщений: 1,481
Вес репутации: 233
|
Вопрос к знатокам MySQL
Собственно вопрос таков. Как сделать такую штуку:
Есть у меня колонка "priseMax" и колонка "prise". Мне нужно средствами MySQL 1 раз в час добавлять ко всем значениям в колонке "prise" единицу. И добавлять до тех пор, покуда значения в колонке "prise" не станут равным значениям в колонке "priseMax". Может функция какая-то есть, или ещё что-то.
__________________
|
16.07.2011, 22:45 | #3 |
Серьезный бизнес.
|
добавляешь еще одну колонку. lastupdate bigint
php mysql_query("update TABLEENAME set prise=prise+1, lastupdate=".time()." where prise<priseMax and lastupdate<".(time()-3600)); скрипт можно запускать хоть каждую секунду хотя конечно крон был бы предпочтительнее |
17.07.2011, 03:41 | #4 |
Эксперт
Регистрация: 17.11.2009
Адрес: Донбасс
Сообщений: 1,481
Вес репутации: 233
|
Не-не, на пхп и я знаю как. Средствами мускуля нужно. В мускуле своих функций тоже дохрена, можно внутри мускуля считать, сравнивать и тд., а пыхом только выводить Ну не суть.
Вот нарыл: Код:
CREATE EVENT myevent ON SCHEDULE EVERY 1 HOUR STARTS CURRENT_TIMESTAMP DO UPDATE baza.tablica SET prise = prise + 1 Добавлено через 1 час 14 минут Ага, а чтоб работало нужно сначало включить планировщик: SET GLOBAL event_scheduler = ON; Вот, статейка, кому интересно http://www.opennet.ru/docs/RUS/mysqlpro/events.html
__________________
Последний раз редактировалось a112; 17.07.2011 в 03:43. Причина: Добавлено сообщение |
17.07.2011, 03:50 | #5 | |
Новичок
Регистрация: 27.01.2009
Адрес: Earth
Сообщений: 41
Вес репутации: 185
|
Цитата:
|
|
17.07.2011, 03:51 | #6 |
Серьезный бизнес.
|
статья отличная, но через скрипт проще и работает везде
|
17.07.2011, 04:43 | #7 |
Эксперт
Регистрация: 17.11.2009
Адрес: Донбасс
Сообщений: 1,481
Вес репутации: 233
|
А если нужно обновлять по 1000+ значений в нескольких таблицах каждые несколько секунд? Задрочит ведь базу
Добавлено через 29 минут Код:
CREATE EVENT myevent ON SCHEDULE EVERY 1 HOUR STARTS CURRENT_TIMESTAMP DO SELECT prise, priseMax FROM baza.tablica, DO IF (prise <= priseMax, DO UPDATE baza.tablica SET prise = prise + 1, DO UPDATE baza.tablica SET prise = prise + 0) Пойду спать, а то голову сломаю Добавлено через 2 минуты Ага, лет 5 назад как дошла, а мы и по сей день юзаем мускуль только на селект, инсёрт и апдейт Это как купить комп за 10к зелени и играть на нём в сапёра
__________________
Последний раз редактировалось a112; 17.07.2011 в 04:43. Причина: Добавлено сообщение |
17.07.2011, 05:04 | #8 |
Новичок
Регистрация: 27.01.2009
Адрес: Earth
Сообщений: 41
Вес репутации: 185
|
|
17.07.2011, 06:30 | #9 | |
Серьезный бизнес.
|
Цитата:
и версия mysql Должна быть не ниже 5й. я вот хз, можно ли на шаред хостинге устраивать подобное. например event_scheduler должен быть включен посему есть универсальное решение, и есть хостингозависимое. и да, типа эвент в текстовом виде, хранимый в базе, базу не задрочит? хехехе. единственное, на чем экономия - это на коннекте к базе данных. а остальное - под вопросом. возможно, хранения эвента в базе не сильно хорошо с точки зрения производительности.
__________________
подписка на список прокси - prxy.ru aswq.ru - обучение вебмастеров Последний раз редактировалось Jimi Dini; 17.07.2011 в 06:38. |
|
17.07.2011, 11:52 | #10 | |
Новичок
Регистрация: 27.01.2009
Адрес: Earth
Сообщений: 41
Вес репутации: 185
|
Цитата:
В итоге студенты в вузах тратят 5 лет на изучение всего этого г*на, хотя в действительности для большинства задач (в том числе инновационных) хватит 1-2 книжек, прочтенных за 1-2 ночи Добавлено через 3 минуты Кстати да. База сама хранится в файлах, и какая разница, по чьей команде будут высчитываться и записываться данные? Последний раз редактировалось contentsys; 17.07.2011 в 11:52. Причина: Добавлено сообщение |
|
Опции темы | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос к знатокам ПС про favicon.ico | Lenka | Курилка | 4 | 31.12.2010 14:24 |
Вопрос знатокам Друпала | magura888 | Разработка и сопровождение сайтов | 0 | 01.10.2010 13:34 |
Вопрос к знатокам Wordpress. | nikonoff | Курилка | 5 | 19.07.2010 13:16 |
Вопрос знатокам джумле | Piratseo | Разработка и сопровождение сайтов | 7 | 18.03.2010 16:52 |
Фон страницы и css - вопрос к знатокам | Globalzru | Разработка и сопровождение сайтов | 18 | 13.12.2009 19:09 |
Часовой пояс GMT +3, время: 13:14.