Avatar billede dmg Nybegynder
16. januar 2015 - 12:15 Der er 14 kommentarer og
1 løsning

Slet rows mellem tid med timestamp attribute

Hej Experter,

Sry er paa US keyboard :-/

Jeg foelgende tabel:

Facility_id - integer(10)
priority_id - integer(10)
host_id - integer(10)
logtime - timestamp
message - varchar(1024)
seq - bigint(20) - Primary key

Den fylder 10GB og jeg vil gerne slette alt der komme foer 3 moeneder.
Jeg har foelgende query:

delete from myTable where logtime < DATE_SUB(NOW(), INTERVAL 3 MONTH)

Men det virker ikke??? Tror moeske det er noget at goerer med timestamp attributen?

datoen ser soeledes ud: 2015-01-16 01:42:38

Er der nogen der kan hjaelpe!!!
Avatar billede dmg Nybegynder
16. januar 2015 - 12:16 #1
mysql versionen er 5.1.51
Avatar billede michael_stim Ekspert
16. januar 2015 - 12:47 #2
Ikke testet, bare googlet:

DELETE FROM `table_name` WHERE `time_col` < ADDDATE(NOW(), INTERVAL -1HOUR)
Avatar billede dmg Nybegynder
16. januar 2015 - 13:05 #3
Hej Michael,

Jeg proevede dit eksempel men det virkede desvaerre ikke :( Tak ellers!
Avatar billede olsensweb.dk Ekspert
16. januar 2015 - 13:31 #4
her er lidt du kan prøve
https://www.google.dk/search?q=mysql+delete+timestamp+3+month

ref http://stackoverflow.com/questions/9734901/php-delete-mysql-record-older-than-30-days

mysql_query("DELETE FROM my_news WHERE date < ".strtotime('-1 month'));


ref http://stackoverflow.com/questions/21206361/delete-all-rows-with-timestamp-older-than-x-days

DELETE FROM on_search WHERE search_date < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))


ref http://stackoverflow.com/questions/14283591/how-to-return-the-items-in-mysql-greater-than-6-months

select id from your_table where your_timestamp_column <= (now() - interval 6 month);
Avatar billede dmg Nybegynder
16. januar 2015 - 14:01 #5
Hej Ronols,

Jeg har proevet dine eksempler men det virker desvaerre ik :(
Tror det er noget at goerer med logtime formatet???
2015-01-16 01:42:38
Avatar billede olsensweb.dk Ekspert
16. januar 2015 - 14:39 #6
så er det ikke datatypen timestamp du anvender som du skriver i din tabel, så er det datetime

logtime - timestamp er vel så logtime - datetime

prøv
https://www.google.dk/search?q=mysql+delete+datetime++3+month

ref http://stackoverflow.com/questions/813434/a-job-to-delete-rows-older-than-3-months-in-mysql-database

DELETE FROM myTable WHERE dateEntered < DATE_SUB(NOW(), INTERVAL 3 MONTH);


ref http://forums.devshed.com/mysql-help-4/delete-records-3-months-608763.html

DELETE FROM mytable WHERE created < DATE_SUB(CURDATE(), INTERVAL 3 MONTH);


ref http://stackoverflow.com/questions/8359457/deleting-records-before-a-certain-date

DELETE FROM table WHERE date < '2011-09-21 08:21:22';


tag evt et kort kig på
http://www.eksperten.dk/spm/999518
der var det godt nok kun formatet date vi arbejdede med og ikke datatime
Avatar billede dmg Nybegynder
16. januar 2015 - 15:13 #7
Hej Ronols,

Jeg kan confirme det er timestamp jeg anvender.
Jeg har proevet alle eksemplerne... Men det virker ik... Jeg foer ingen error men 0 resultset...
Det godt nok underligt...
Avatar billede showsource Seniormester
16. januar 2015 - 16:16 #8
"datoen ser soeledes ud: 2015-01-16 01:42:38", står det i DB eller på siden du loader ? Altså formateret til output ?

Måske du ikke har DELETE rettigheder til DB ?

Og brug gerne en "error-fanger" til at få vist fejl.
Avatar billede dmg Nybegynder
16. januar 2015 - 16:26 #9
Hej showsource,

Jeg arbejder direkte i databasen ikke front-enden...
Jeg har delete rettigheder.

Det er virkelig underligt!
Tak for at hjaelpe!
Avatar billede dmg Nybegynder
16. januar 2015 - 16:28 #10
Der bliver ik fanget nogen errors eftersom der ik er nogen error... Result-set'et returnerer bare 0
Avatar billede showsource Seniormester
16. januar 2015 - 16:45 #11
"direkte", altså i en command prompt ?
Avatar billede showsource Seniormester
16. januar 2015 - 17:05 #12
DELETE FROM tabel WHERE logtime < DATE_ADD(NOW(), INTERVAL -3 MONTH);
Avatar billede dmg Nybegynder
24. juni 2015 - 02:09 #13
Hej showsource,

Det virkede! smid et svar :-)
Avatar billede showsource Seniormester
25. juni 2015 - 06:06 #14
ok
Avatar billede dmg Nybegynder
25. juni 2015 - 06:12 #15
Tak for hjaelpen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester