Riješeno: DODAJTE BOJE KREIRANI I AŽURIRANI NA

Posljednje ažuriranje: 09/14/2023

U dinamičnom svijetu web razvoja, datum i vrijeme su važni aspekti, posebno kod manipulacije podacima. U SQL-u, `CREATED_AT` i `UPDATED_AT` stupci igraju vitalnu ulogu u praćenju kada je zapis inicijalno dodan i kada je zadnji put ažuriran. Sistem efikasno održava ove kolone automatski. Ova metoda je moćna u očuvanju integriteta podataka u cijelom sistemu.

CREATED_AT je vremenska oznaka kada je zapis inicijalno ubačen u bazu podataka, dok UPDATED_AT je vremenska oznaka kada je bilo koja radnja ažuriranja izvršena na zapisu. Ove vremenske oznake služe kao alat za reviziju sistema, pružajući uvid u životni ciklus zapisa.

Kreiranje kolona vremenske oznake u SQL-u

Kreiranje ovih stupaca vremenske oznake uključuje jezik definicije SQL podataka (DDL). Isječak koda u nastavku kreira novu tabelu sa stupcima vremenske oznake `CREATED_AT` i `UPDATED_AT`:

CREATE TABLE sample_table
(
  id INT PRIMARY KEY,
  data VARCHAR(100),
  CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  UPDATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

`DEFAULT CURRENT_TIMESTAMP` postavlja zadanu vrijednost kolone na trenutni datum i vrijeme. A `ON UPDATE CURRENT_TIMESTAMP` će postaviti vrijednost stupca na trenutni datum i vrijeme kad god se izvrši bilo kakva radnja ažuriranja u redu.

Dodavanje kolone nakon kreiranja

U mnogim slučajevima, postojat će potreba za dodavanjem `CREATED_AT` i `UPDATED_AT` stupca za kreiranje post tablice. Ovo se može postići korištenjem SQL `ALTER TABLE` izraza koji mijenja postojeću strukturu tablice.

ALTER TABLE sample_table 
ADD ( 
  CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 
  UPDATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

Uz gornji SQL izraz, stupci `CREATED_AT` i `UPDATED_AT` se neprimjetno dodaju u već postojeću tablicu pod nazivom `sample_table`.

Implementacija okidača

U nekim sistemima baza podataka kao što je SQLITE, moramo koristiti okidače kao alternativu jer `ON UPDATE CURRENT_TIMESTAMP` nije podržano.

Da bismo ovo implementirali, kreiramo okidač `AFTER UPDATE`, koji automatski ažurira stupac `UPDATED_AT` nakon bilo kakve izmjene zapisa.

CREATE TRIGGER update_timestamp
AFTER UPDATE
ON sample_table
FOR EACH ROW
BEGIN
 UPDATE sample_table SET UPDATED_AT = CURRENT_TIMESTAMP WHERE id = NEW.id;
END;

Ovaj okidač se pokreće nakon ažuriranja `sample_table`, postavljajući kolonu `UPDATED_AT` na trenutnu vremensku oznaku.

Implementacija CREATED_AT i UPDATED_AT stupaca u vaše SQL tablice pruža dinamičan način praćenja zapisa od kreiranja do svakog sljedećeg ažuriranja. Ovaj oblik revizije sistema jača integritet podataka, osiguravajući neometano praćenje i održavanje zapisa baze podataka.

Slični postovi: