0%

Daten sicher ändern

Die vorgesehene Zeile vor der Änderung ansehen

Angenommen, die übliche Leihdauer des Projektors soll geändert werden. Bevor etwas geändert wird, sollte der Verleihtresen sehen, welche gespeicherte Zeile zum vorgeschlagenen Inventarkennzeichen gehört, und ihre aktuellen Werte bestätigen.

Deine vorhandene Funktion liefert diese Vorschau bereits. Run zeigt zuerst ihre bekannten Prüfungen:

find_item(connection, "TL-100")
(3, 'TL-100', 'Cordless drill', 'tools', 7)
find_item(connection, "NO-404")
None

Für die vorgeschlagene Änderung am Projektor würde der aufrufende Code genau diesen Aufruf verwenden:

find_item(connection, "EL-300")

Er gibt Folgendes zurück:

(5, 'EL-300', 'Projector', 'electronics', 2.5)

Dieses Tupel bietet einen nützlichen Moment, um das Ziel zu prüfen: ID 5, Inventarkennzeichen EL-300, den erwarteten Namen und die Kategorie sowie die aktuelle Leihdauer 2.5. Wenn der Aufruf None zurückgäbe, gäbe es keine aktuelle Zeile zu bestätigen.

Dieser Leseschritt vor der Änderung ist eine Vorschau. Er hilft einer Person oder einem Programm zu entscheiden, ob das vorgeschlagene Ziel das beabsichtigte ist. Er verändert die Zeile nicht, hält sie nicht fest und macht eine spätere Anweisung allein nicht sicher.

Die spätere ändernde Anweisung braucht weiterhin ihre eigene präzise WHERE-Bedingung. Zwei separate Aufrufe teilen keine gespeicherte Begrenzung innerhalb von SQLite. Auf eine korrekte Vorschau könnte eine ändernde Anweisung ohne WHERE folgen, die trotzdem jede Zeile betrifft. Die Vorschau bestätigt; die ändernde Anweisung begrenzt ihren eigenen Wirkungsbereich.

Du musst hier keinen Code bearbeiten. Öffne catalog_changes.py, wenn du verfolgen möchtest, wie find_item das Kennzeichen bindet. Klicke dann auf Run und vergleiche den gefundenen und den fehlenden Fall. Das Quiz prüft die Grenze, auf die du dich beim Schreiben der eigentlichen Änderung verlassen wirst.

Was belegt find_item(connection, "EL-300") vor einer späteren Änderung?

Diese Aufgaben getrennt zu halten ist eine nützliche Sicherheitsgewohnheit: Bestätige zuerst, was du ändern möchtest, und lass dann die ändernde Anweisung dasselbe Ziel selbst identifizieren.