För evigheter sedan gjorde jag som utvecklare manuella uppdateringar av företagets kunddatabas ibland (en mycket stor kundbas, kanske en miljon kunder). Ändringar gjordes rakt i kunddatabasen utan att någon granskade det som gjordes och ingen historik efteråt om vad som gjorts (så jobbar nog inga större företag längre).
Man använde ett särskilt språk (”SQL”) och skrev typ såhär
Delete from kundatabasen
Where kund-id = 123
Så raderades kunden med id 123
Man kan också ha kommentar-rader i texten som då inte tolkas av programmet, om jag minns rätt markerades en sån kommentarsrad med två bindestreck i början av raden. Det är vanligt i all programmering.
Så en dag körde jag följande kod för att radera en kund ur databasen
Delete from kundatabasen
— här hade jag en kommentar för att fortsätta nedan med vad som skulle raderas
Where kund-id = 456
Det jag då inte visste var att den databashanterare vi använde slutade att tolka det man skrivit när den nådde en kommentar och utförde bara det man skrivit fram till kommentaren
Jag körde min kod och reagerade på att den tog LÅNG tid på sig, denna typ av uppdatering brukade gå på en millisekund. Jag började ana att något kanske gått fel och frågade databasen om hur många kunder den hade. Svaret var 0.
Kommandot jag gett var alltså att radera hela databasen (det är så det tolkas om man inte anger någon viss post)! Det hela var ju helt klart av misstag men jag lovar jag hade lite puls
när jag fick ringa ”driften” och berätta vad jag gjort. Som tur var hade de en backup och alla kunder kunde återställas
.
Man använde ett särskilt språk (”SQL”) och skrev typ såhär
Delete from kundatabasen
Where kund-id = 123
Så raderades kunden med id 123
Man kan också ha kommentar-rader i texten som då inte tolkas av programmet, om jag minns rätt markerades en sån kommentarsrad med två bindestreck i början av raden. Det är vanligt i all programmering.
Så en dag körde jag följande kod för att radera en kund ur databasen
Delete from kundatabasen
— här hade jag en kommentar för att fortsätta nedan med vad som skulle raderas
Where kund-id = 456
Det jag då inte visste var att den databashanterare vi använde slutade att tolka det man skrivit när den nådde en kommentar och utförde bara det man skrivit fram till kommentaren
Jag körde min kod och reagerade på att den tog LÅNG tid på sig, denna typ av uppdatering brukade gå på en millisekund. Jag började ana att något kanske gått fel och frågade databasen om hur många kunder den hade. Svaret var 0.
Kommandot jag gett var alltså att radera hela databasen (det är så det tolkas om man inte anger någon viss post)! Det hela var ju helt klart av misstag men jag lovar jag hade lite puls