как можно одним запросом добавить значение в таблицу (например IP), если его не существует, и в случае если существует - обновить соответствующюю колонку hits=hits+1?
а разумно ли будет делать сначала
UPDATE table SET hits=hits+1 WHERE ip='127.0.0.1' - игнорируя ошибки.
и в случае ответа false вставлять:
INSERT INTO table (date,ip,hits) VALUES ('date', '127.0.0.1', '1');
при этом предварительно поставив index unique на две колонки date,ip?
nick4
Зачем тебе это делать одним запросом? Делай как всегда
UPDATE, если [m]mysql_affected_rows[/m] == 0, тогда INSERT.
Если же записи чаще добавляются, чем обновляются, тогда
INSERT IGNORE, если mysql_affected_rows == 0 (запись уже есть), UPDATE.