sqlite, AKTUALISIEREN ODER ERSETZEN

8

Ich mache etwas wie

AKTUALISIEREN ODER ERSETZEN someTable SET a = 1, b = 2 WHERE c = 3

Ich erwarte, wenn es nicht existiert, wird es in die DBs eingefügt. Aber nichts passiert und ich bekomme keine Fehler. Wie kann ich Daten einfügen, ersetzen Sie sie, wenn sie bereits vorhanden sind, und verwenden Sie ein Wo für die Bedingung (anstatt BC einer eindeutigen ID zu ersetzen)

    
John Saunders 15.04.2009, 07:42
quelle

2 Antworten

16

Vorsicht, INSERT OR REPLACE hat nicht das erwartete Verhalten eines "UPDATE OR REPLACE".

Wenn Sie die Werte nicht für alle fieds festlegen, ersetzt INSERT OR REPLACE sie durch Standardwerte, während Sie bei einem UPDATE erwarten, dass Sie die alten Werte beibehalten.

Siehe meine Antwort hier für ein Beispiel: SQLite - UPSERT * nicht * INSERT oder REPLACE

    
gregschlom 23.11.2010, 07:49
quelle
9

Versuchen Sie

%Vor%     
Sam Saffron 15.04.2009 08:03
quelle

Tags und Links