Можно ли как-то оптимизировать операцию ввода данных?

Духовность™

Продвинутый новичок
Можно ли как-то оптимизировать операцию ввода данных?

Есть таблица:

[sql]
CREATE TABLE `statistics` (
`id_admin` int(10) unsigned NOT NULL,
`id_region` tinyint(3) unsigned NOT NULL,
`date` date NOT NULL,
`count` mediumint(8) unsigned NOT NULL,
UNIQUE KEY `id_admin` (`id_admin`,`id_region`,`date`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
[/sql]

Туда надо заносить статистику. Вопрос - можно ли это как-то делать одним запросом, НЕ проверяя наличие записи в базе?

Пока что я вижу только один выход - сперва проверить наличие записи и сделать INSERT, иначе сделать UPDATE.

Кто что думает?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Пока что я вижу только один выход - сперва проверить наличие записи и сделать INSERT, иначе сделать UPDATE.
Я пока вижу недоописание задачи.
 

baev

‹°°¬•
Команда форума

Духовность™

Продвинутый новичок
Mr_Max
нужно вести статистику - добавлять в таблицу записи.

За каждый день нужно вести подсчет count определенного админа по региону id_region.

Т..е. админ сделал действие - занес информацию в базу касательно одного региона - прибавили единичку к count.

Вот. Теперь понятно?

-~{}~ 05.02.08 15:52:

baev
Да читаю я ман, просто я не очень хорошо соображаю....
 

baev

‹°°¬•
Команда форума
просто я не очень хорошо соображаю....
— чтобы тупо повторить инструкцию из мануала особо соображать не нужно.

Не прикрывайте свою лень ссылками на умственную недостаточность.

P.S. Мля.
В данном конкретном случае вообще достаточно просто открыть мануал на странице с интересующей функцией, чтобы получить ответ.
(Оно там в самом начале написано...)
 

Духовность™

Продвинутый новичок
baev
какую? мне кажется тут Replace поможет, но я не понимаю, как именно его тут использовать((
 

Gas

может по одной?
triumvirat
replace в твоём случае не поможет, в документации так и написано, а поможет INSERT ... ON DUPLICATE KEY UPDATE
найдёшь?
 

baev

‹°°¬•
Команда форума
Да нафиг ему маны читать, если ему эти маны тут постоянно добрые дяди (типа Gas'а) пересказывают?
 

WP

^_^
Феерично. Похоже советчики сами не читали мануал нифига.

-~{}~ 05.02.08 20:52:

З.Ы. а на самом деле такой функции нету, задача решается в два запроса. Догадайтесь какие эти два запроса должны быть. Но подумайте хорошо прежде чем отвечать.
 

berkut

Новичок
WP
Феерично. Похоже советчики сами не читали мануал нифига.

-~{}~ 05.02.08 20:52:

З.Ы. а на самом деле такой функции нету, задача решается в два запроса. Догадайтесь какие эти два запроса должны быть. Но подумайте хорошо прежде чем отвечать.
я тоже не знал, что такая штука есть
 

Beavis

Banned
а в книге "MySQL 5" хоть в ней и 1000 страниц такого синтаксиса нет, хотя щас проверил - работает
 

Gas

может по одной?
WP
что не так? даже засомневался, проверил - по составному уникальному ключу работаить.

baev
та да, слишком добрый :)
 

Beavis

Banned
Автор оригинала: WP З.Ы. а на самом деле такой функции нету, задача решается в два запроса. Догадайтесь какие эти два запроса должны быть. Но подумайте хорошо прежде чем отвечать.
я обычно решал в 2 запроса - UPDATE и INSERT ... ну или наоборот, в зависимости от задачи

а оказывается можно было и одним запросом делать :)
 

baev

‹°°¬•
Команда форума
Мне тоже хотелось бы услышать от WP подробности.

(Без подробностей сообщение как-то совсем не солидно выглядит...)

-~{}~ 07.02.08 21:54:

Ну, буду считать что WP слив засчитан...
 
Сверху