U razvoju softvera, jedan od najvažnijih aspekata je mogućnost praćenja promjena napravljenih u zapisima baze podataka. Kao takav, postojanje automatizovanog mehanizma za ažuriranje ovih zapisa je ključno. 'updated_at' je kolona sa automatskim ažuriranjem **vremenske oznake** koja registrira posljednji put kada je zapis izmijenjen. To je vrlo praktično i efikasno rješenje za mnoge programere koji trebaju pratiti promjene podataka tokom vremena.
CREATE TABLE some_table_name ( id INT PRIMARY KEY, some_data VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
Gornji SQL kod će automatski generirati i ažurirati stupce 'created_at' i 'updated_at' kada se zapis doda ili modificira u tablicu.
Rješenje: automatsko ažuriranje 'updated_at'
Instance se mogu pojaviti kada imamo postojeću tablicu i želimo dodati stupac 'updated_at'. Sljedeći SQL kod postiže upravo to:
ALTER TABLE some_table_name ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Korak po korak objašnjenje koda
U gore navedenom SQL kodu, `ALTER TABLE some_table_name` upućuje SQL-u da modificira postojeću tablicu “some_table_name”. `ADD COLUMN updated_at` dodaje novi stupac pod nazivom 'updated_at'.
`TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP` dio koda je raščlanjen na sljedeći način:
- 'TIMESTAMP': Određuje tip podataka koji će kolona 'updated_at' sadržavati, u ovom slučaju, vrijednost vremenske oznake.
- 'DEFAULT CURRENT_TIMESTAMP': Postavlja zadanu vrijednost stupca 'updated_at' na trenutnu vremensku oznaku kada se novi zapis ubaci u tabelu
- 'ON UPDATE CURRENT_TIMESTAMP': Automatski ažurira kolonu 'updated_at' sa trenutnom vremenskom oznakom svaki put kada se odgovarajući zapis promijeni.
Uključujući biblioteke ili funkcije
Prvenstveno, funkcija uključena u automatsko ažuriranje 'updated_at' je funkcija `CURRENT_TIMESTAMP` koja vraća trenutni datum i vrijeme.
Razumijevanje kako ovo funkcionira u kontekstu upravljanja bazom podataka i SQL programiranja, ne samo da će vam pomoći da pojednostavite svoj rad već i poboljšate vašu **efikasnost** kao programera. Uvijek imajte na umu da je tehnologija tu da nam olakša rad, a SQL ima mnoštvo funkcija i karakteristika koje mogu pojednostaviti vaše iskustvo i optimizirati vaše operacije, poput automatskog ažuriranja 'updated_at'.
Slični problemi
Pored funkcije automatskog ažuriranja 'updated_at', postoje i drugi problemi vezani za vremensku oznaku koje biste mogli istražiti. Na primjer, možete imati stupac 'created_at', čija je zadana vrijednost postavljena na trenutnu vremensku oznaku. Ova kolona se neće promijeniti kada se zapis ažurira, dajući vam jasnu referentnu tačku kada je zapis kreiran.
ALTER TABLE some_table_name ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
Stupci 'created_at' i 'updated_at' se međusobno dopunjuju i često se koriste zajedno u mnogim aplikacijama za postizanje potpunog praćenja historijskih podataka. Ovo su sastavni dio skupa korisnih uslužnih programa koje SQL pruža za automatsko upravljanje podacima. Uvijek istražite ove funkcionalnosti jer dodaju vrijednost vašim procesima i čine vas **kompetentnim** i efikasnim SQL programerom.
