Skapar en kolumn för inläggningsdatum och tar bort alla dom är inlagda före de 3 senaste månaderna? ;)
Hur gör man för att ta bort inlägg ur en MySQL databas som är äldre än 3 månader?
11 svar · 431 visningar · startad av pRob3
Hur gör man för att ta bort inlägg ur en MySQL databas som är äldre än 3 månader?
Skapar en kolumn för inläggningsdatum och tar bort alla dom är inlagda före de 3 senaste månaderna? ;)
Och hur skulle en sådan SQL sats se ut?
Först gör du en ny kolumn som heter t.ex. skapningsDatum.
ALTER TABLE databas.tabellnamn ADD COLUMN (skapningsDatum DATE)
Så fort du lägger till något i tabellen måste du bara komma ihåg att även sätta ett värde i skapningsDatum.
INSERT INTO databas.tabellnamn (kolumn1, kolumn2, skapningsDatum) VALUES ('kolumn1s värde', 'kolumn2s värde', NOW())
För att ta bort alla rader äldre än 3 månader:
DELETE FROM databas.tabellnamn WHERE skapningsDatum < DATE_SUB(NOW(), INTERVAL 3 MONTH)
R// Måste erkänna att jag inte är kung på SQL och detta är helt otestat men det bör funka på åtminstone mysql
Försökte med den här MySQL satsen:
Set Rs = Connect.Execute("FROM memb WHERE inlogg_datum < DATE_SUB(NOW(), INTERVAL 3 MONTH")
Får detta fel mess:
TCX][MyODBC]You have an error in your SQL syntax near 'FROM memb WHERE inlogg_datum < DATE_SUB(NOW(), INTERVAL 3 MONTH' at line 1
kolumnen inlogg_datum har värdet DATETIME.
Någon som vet var felet är?
Du har glömt nyckelordet DELETE i SQL-frågan.
Vill först testa att loopa ut SQL satsen innan jag raderade från den.
Då får du använda SELECT istället för DELETE, glöm inte att ha med ett fält att plocka ut också...
SELECT id FROM...
Nu får jag detta fel mess:
[TCX][MyODBC]You have an error in your SQL syntax near '' at line 1
SQL satsen:
Set Rs = Connect.Execute("SELECT * FROM memb WHERE inlogg_datum < DATE_SUB(NOW(), INTERVAL 3 MONTH")
Set Rs = Connect.Execute("SELECT * FROM memb WHERE inlogg_datum < DATE_SUB(NOW(), INTERVAL 3 MONTH)"
r/ fel.. se korrekt nedan
Nästan
Set Rs = Connect.Execute("SELECT * FROM memb WHERE inlogg_datum < DATE_SUB(NOW(), INTERVAL 3 MONTH)")
Flyttas från ASP