У меня есть простая таблица, как показано ниже.PHP MYSQL Вставка/обновление
CREATE TABLE `stats` (
`id` int(11) NOT NULL auto_increment,
`zones` varchar(100) default NULL,
`date` date default NULL,
`hits` int(100) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
Так что просто хранить счетчик обращений к каждой зоне в день.
Но я просто хочу увеличить значение хитов за тот же день.
Я пробовал MYSQL DUPLICATE KEY UPDATE, но это не будет работать, поскольку у меня может быть много зон в разные даты, поэтому я не могу сделать их уникальными или датами.
Таким образом, единственный способ, которым я могу думать, первое, чтобы сделать запрос, чтобы увидеть, если существует дата то не простой, если() для вставки/обновления
Является ли их лучший способ сделать такую задачу, как там может быть, много 1000 хитов в день.
Надеюсь, что это имеет смысл :-).
И спасибо, если вы можете посоветовать.
Я действительно говорил, что пытался использовать DUPLICATE KEY UPDATE, и он не будет работать, потому что зона и дата не могут быть уникальными. Пример: зона будет иметь несколько дней, т. Е. зона - дата - хиты zone1 - 2009-05-11 - 100 Zone2 - 2009-05-11 - 55 zone1 - 2009-05-10 - 120 Zone2 - 2009-05-10 - 88 См. Ig. У меня была дата или зона uniqe. У меня было бы всего 2 записи из приведенного выше примера. :-( – Lee
UNIQUE (зона, дата) гарантирует, что зона и дата уникальны * вместе *. Прекрасно иметь несколько записей с той же зоной, если даты разные. То же самое относится к нескольким записям с в то же время и в разных зонах. Но не должно быть двух записей с одной и той же датой * и *. Я думаю, это соответствует вашим требованиям. Попробуйте в тестовой базе данных и посмотрите, не работает ли она. –
Повторите попытку Аймана. я имел все тоже, что вы были выше, но плохо попробуйте теперь снова. – Lee