Трудности при вставке и замене данных

Kotofeich

Новичок
Трудности при вставке и замене данных

Не могу сообразить как правильно организовать структуру таблицы.
Упрощенный пример:
В таблице нужно хранить дату date_up (type date), номер проекта id_project (type int 11) и колличество продаж count_sales (type int 11).
Приложение клиент-серверное и данные в этой таблице могут обновляться несколько раз за день.
У меня сейчас проблема в том, что делаю replace данных и появляется новая запись, все равно что я сделал бы insert.
Задача в том, что если дата и номер проекта совпадает, то нужно только обновить колличество продаж в записи.
У меня сейчас попросту не хватает знаний, как правильно должна выглядеть структура это таблицы, как раставить ключи и индексы (и нужны ли они тут).
Я могу добавить инкрементное поле id, находить этот id по дате и номеру проекта, и делать уже update, но думаю это далеко не самое лучшее решение.
Помогите, пожалуйста, кто разбирается.
 

tashkentchi

Новичок
Уникальный ключ на пару date_up, id_project

Два варианта вставки/замены:

1. SELECT. Потом либо INSERT либо UPDATE.

2. INSERT IGNORE. Потом UPDATE.
 

Kotofeich

Новичок
Автор оригинала: tashkentchi
Уникальный ключ на пару date_up, id_project

Два варианта вставки/замены:

1. SELECT. Потом либо INSERT либо UPDATE.

2. INSERT IGNORE. Потом UPDATE.
Спасибо большое за ответ. Пару минут назад нашел более красивое решение

PHP:
INSERT INTO table_name (date_up,id_project,count_sales) VALUES('date_up', 'id_project', 'count_sales') ON duplacate KEY UPDATE count_sales=count_sales+1;
 
Сверху