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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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