[MYSQL] IF ELSE Abfrage mit INSERT INTO

kartoffelmus

Grünschnabel
Hallo liebe Gemeinde,

ich habe mir aus einem Programm Variablen gezogen, diese möchte in eine MySQL-DB einpflegen. Das soll jedoch nur passieren, wenn sich eine Eigenschaft geändert hat.
Die Update-Funktion ist uninteressant, da ich frühere Änderungen auch zu einen späteren Zeitpunkt einsehen möchte. Der Plan war, falls Änderungen auftreten, eine neue Zeile in die DB zu schreiben. Bisher sieht die Abfrage so aus:

Code:
IF
SELECT `spalte1` FROM `table` WHERE `spalte1` != 1 AND `spalte2` = 2 THEN
INSERT INTO `table` (`spalte1`, `spalte2`) VALUES (1, 2)
ELSE 
SELECT `spalte1` FROM `table` WHERE `spalte1` != 1 AND `spalte2` != 2 THEN
INSERT INTO `table` (`spalte1`, `spalte2`) VALUES (1, 2)
END IF;

Ich habe auch verschiedene Schreibweisen mit phpmyadmin probiert, jedoch bislang erfolglos.

VG kartoffelmus
 
Ist das in einer StoredProcedure?

Also entweder eine StoredProcedure oder in PHP selber ausprogrammieren. Denn soviel ich weiss, geht das mit IF so nicht im normalen SQL-Statement

Nachtrag:
Grob geschätzt und ungetestet
SQL:
INSERT INTO
	`table` (spalte1, spalte2)
SELECT
	spalte1,
	spalte2
FROM
	(SELECT 1 AS spalte1, 2 AS spalte2) AS vars
WHERE
	NOT (spalte1, spalte2) IN (SELECT spalte1, spalte2 FROM `table`)
 
Zuletzt bearbeitet von einem Moderator:
Zurück