ON DUPELICATE KEY probleem

Status
Niet open voor verdere reacties.

slabbetje

Gebruiker
Lid geworden
5 mei 2007
Berichten
290
Beste helpers ik heb een klein vraagje waar ik verder niets van kan vinden op google of waarschijnlijk heb ik de verkeerde keywords alleen ik wil dus een insert maken met een check bij een key duplicate werkt allemaal prima alleen ik krijg het niet voormekaar dat hij het alleen uitvoerd wanneer 2 velden dezelfde waarden hebben.

HTML:
mysql_query("INSERT INTO `bestellingen` (bestelling_id, product_nummer, aantal) VALUES ('".$_POST['bestelling_id']."', '". $producten['product_nummer'] ."', '". $_POST['aantal'] ."') ON DUPLICATE KEY UPDATE `aantal` = '".$_POST['aantal']."'");

Wanneer product_nummer en bestelling gelijk is dan moet hij die update uitvoeren anders gewoon een insert doen.

voorbeeld:

1 2 1 222
1 2 1 555
DAN WEL UITVOEREN PRODUCT ID IS GELIJK EN BESTELLING IS GELIJK

1 2 1 222
1 2 2 222

DAN NIET UITVOEREN PRODUCT ID IS ANDERS

1 1 1 232
1 2 1 444
DAN NIET UITVOEREN BESTELLING IS ANDERS MAAR HET PRODUCT NUMMER GELIJK

ik hoop dat t een beetje duidelijk is zo weet niet hoe ik het goed kan uitleggen.
p.s. ik heb bestelling_id en product_nummer een INDEX meegegeven...

alvast bedankt,

michael
 
Laatst bewerkt:
Je bedoelt dat als de combinatie van ( bestelling, product_id ) al bestaat, dat ie dan een update moet doen aan die regel, en anders dat hij een nieuwe rij moet inserten?

Begin eens met een Unique constraint op beide velden tegelijk te zetten, en maak vervolgens eens gebruik van REPLACE INTO in plaats van INSERT? Die doet precies wat je zoekt; invoegen als het niet bestaat, en overschrijven als het wel bestaat.
 
Oke ik zal er naar kijken alvast ontzettend bedankt

Edit Dit is niet precies wat ik zoek want nu verplaatst hij de data alleen
 
Laatst bewerkt:
Dan snap ik niet helemaal wat je wil bereiken... wat is het doel hier precies?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan