Ich löse sowas immer über eine Stored Procedure.
Leider kann ich dir nur ein Beispiel in
MSSQL Syntax geben, aber das Umsetzen des Codes für
MySQL sollte nicht schwehr sein.
SQL-Code:
CREATE PROCEDURE SETDATA_Table01
(
@ID UNIQUEIDENTIFIER = NULL,
@Vorname VARCHAR(15) = NULL,
@Nachname VARCHAR(15) = NULL
)
AS
BEGIN
-- zuerst versuchen wir die Daten zu aktualisieren
UPDATE Tabelle01 SET Vorname = @Vorname
,Nachname = @Nachname
WHERE ID = @ID
-- wenn keine Daten aktualisiert wurden ...
IF @@Rowcount = 0
BEGIN
-- kann es keinen Eintrag mit der ID (@ID) geben, also INSERT ...
INSERT INTO Tabelle01 (
ID
,Vorname
,Nachname
)
VALUES (
NewID()
,@Vorname
,@Nachname
)
END
END