Kezdőoldal » Számítástechnika » Programozás » Mysql-ben lehet olyan triggert...

Mysql-ben lehet olyan triggert vagy tárolt eljárást készíteni, ami egy rekordot annak létrejötte után valemennyi idővel töröl?

Figyelt kérdés
Ha például egy napig akarom az adatokat tárolni a feltöltéstől számítva. Erre tudok ilyen eljárást írni. Fontos, hogy később akkor is lefusson, ha a kívánt időpontban áll a szerver. Tehát jelenlegi idő + 24 >= beszúrási idő feltétel mellett.

2017. aug. 24. 20:45
 1/2 anonim ***** válasza:
100%

A rekord egyik oszlopa (nevezzük mondjuk createDate-nek, és legyen DATETIME típusú) tartalmazza mindig a rekord létrehozásának időpontját.

Amikor hozzáadsz egy új rekordot, akkor az INSERT lekérdezésben, a createDate oszlop értéke egyezzen meg CURRENT_TIMESTAMP()-pal.


Adott időnként - erre szolgál Linuxos szervereken a cron - le kell futtatni egy szkriptet, ami törli az adott idő előtt létrehozott rekordokat - például az alábbi lekérdezéshez hasonlót alkalmazva:

DELETE FROM tabla WHERE TIMESTAMPDIFF(DAY, 'createDate', CURRENT_TIMESTAMP()) > 3;

2017. aug. 24. 21:15
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:
100%

Illetve meg lehet oldani MySQL esemény ütemező segítségével:

* [link]

* [link]

2017. aug. 24. 22:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!