MySQL - einfügen, falls noch nicht vorhanden

8

Ich möchte diese MySQL-Abfrage ausführen:

INSERT INTO 'cron-stats' ('user') VALUES (".(int)$d['by-user'].")

Immer wenn ein solcher Benutzer noch nicht existiert, wie in:

%Vor%

Wie kann ich dies in einer Abfrage ausführen?

    
Richard Rodriguez 26.01.2013, 07:45
quelle

3 Antworten

17

Sie können ON DUPLICATE KEY UPDATE

verwenden %Vor%

Um jedoch die INSERT -Anweisung gut ausführen zu können, müssen Sie einen UNIQUE -Index für die Spalte user festlegen.

Wenn die Spalte noch kein index hat, führen Sie die folgende Anweisung aus,

%Vor%     
John Woo 26.01.2013, 07:47
quelle
5

Ein bisschen hacky, aber wenn Sie eine SELECT abgeleitete Tabelle anstelle von VALUES verwenden, können Sie Folgendes tun:

%Vor%

SQL Fiddle-Demo

    
lc. 26.01.2013 07:52
quelle
-2

Sie können dies mit der Bedingung if else

versuchen %Vor%     
Bkay 26.01.2013 07:57
quelle

Tags und Links