Mam taką tabelę w bazie:
CREATE TABLE `table` ( `id` int(11) NOT NULL, `id2` int(11) NOT NULL, `kol1` tinyint(3) UNSIGNED NOT NULL, `kol2` tinyint(3) UNSIGNED NOT NULL, ... `koln` tinyint(3) UNSIGNED NOT NULL, UNIQUE KEY `as` (`id`,`id2`), KEY `id` (`id`), KEY `id2` (`id2`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
W pętli w php tworzę sobie Insert o mniej więcej takiej treści:
INSERT INTO TABLE VALUES (id,id2,kol1...koln),(id,id2,kol1...koln),...(id,id2,kol1...koln)
Zanim jednak dodam te rekordy kasuję ich wcześniejszą instancję, jeżeli jest:
DELETE FROM TABLE WHERE (id1=x1 AND id2=y1) OR (id1=x1 AND id2=y2) OR (id1=x2 AND id2=y3) OR (id1=x2 AND id2=y4) OR ... OR (id1=xn AND id2=ym)
Pytanie: Czy można wykorzystać w tej sytuacji polecenie ON DUPLICATE KEY UPDATE, abym nie musiał usuwać tych rekordów wcześniej i odciążyć serwer?
Pozdrawiam