Bestimmten Eintrag in SQLite DB ändern?
Ich hänge seit bestimmt einer halben Stunde an dem Thema... Ich habe eine bestehende DB (s. Bild 1) und in dieser stehen Daten drin (s. Bild 2). In der letzten Spalte verified möchte ich durch einen Befehl einen neuen Wert eintragen bzw. den bestehenden Wert ändern ohne die anderen zu verändern.
Bild 1:
Bild 2:
Wie also lautet denn der Befehl, um den bestehenden Wert zu ändern?
Ich habe es normal so versucht:
insert into registered_users(verified) values('YES')
Die Datenbank gibt folgendes aus:
Fehler beim Ausführen der SQL-Abfrage auf der Datenbank 'QameTalqDB': NOT NULL constraint failed: registered_users.user_id
Schließlich sind einige Spalten auf NOT NULL gestellt. Ich denke, ich mache einfach nur einen simplen Fehler, der mich unnötig Zeit kostet.
Übrigens:
Ich möchte eine bestimmte Zeile selecten (bspw. user_id='1') und in dieser will ich dann ein Wert ändern.
Ich hoffe ihr könnt mir helfen.
MfG
2 Antworten
Mit deinem insert into befehl, würdest du eine neue Zeile einfügen. Und das geht nicht, da du dann auch eine user_id angeben müsstest (da dieses Feld "Not null" ist - das bedeutet es muss immer eine User-Id gesetzt werden)
Um einen bestehenden Datensatz zu verändern, musst du den update befehl verwenden.
also so:
Update registered_users set verified = 'yes' where user_id = 1;
Mit der UPDATE-Anweisung kannst auch mehrere Spalten zum Ändern angeben und über der WHERE-Bedingung auch ganze Satzgruppen auf einmal ändern. Dabei muss das Kriterium nicht unbedingt ein Primärschlüssel sein. Du kannst z.B. das Datum aller Rechnungsposition mit einer bestimmten Rechnungs-Nr auf einen neuen Wert setzen.