Achot: ON DUPLICATE KEY UPDATE

Beitrag lesen

Hallo,

ich habe meine drei Spalten mit einem unique index versehen. Mein Code lautet nun so

if ($stmt = $mysqli->prepare("INSERT INTO projekte_test (code, status, titel, userID, von, bis, h_d, h_u, del, kostensplittung, anzahl_kostensplittung)  
	VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE kostensplittung = kostensplittung, anzahl_kostensplittung = anzahl_kostensplittung"))
	{    
			 
		$code		= $projekt_Code;
		$status		= "1";
		$titel		= $_POST["titel"];
		$userID		= $object->user_code;
		$von 		= $_POST["von"];
		$bis 		= $_POST["bis"];
		$h_d      	= date("d.m.Y");
      	$h_u   			= date("H:i:s");
      	$del			= "0";
      	$kostensplittung	= $_POST["kostensplittung"];
      	$anzahl_kostensplittung	= $_POST["anzahl_kostensplittung"];
				
		$stmt->bind_param("sssssssssss", $code, $status, $titel, $userID, $von, $bis, $h_d, $h_u, $del, $kostensplittung, $anzahl_kostensplittung);
	}

Einen neuen Eintrag kann ich machen, ein doppelten lässt er nicht so, aber er macht kein Update. Irgendwo ist noch der Fehler. Seht ihr ihn vielleicht?

EDIT: Ich bin ja auch ein trottel. Muss natürlich so lauten

ON DUPLICATE KEY UPDATE kostensplittung = kostensplittung + VALUES(kostensplittung), anzahl_kostensplittung = anzahl_kostensplittung + VALUES(kostensplittung)

EDIT2:

  • VALUES ist scheinbar falsch, denn da zählt er den Wert einfach nach oben und ersetzt diese nicht. Hmm da muss was anderes stehen.