Beste allemaal, lang geleden zeg!
Ik wil mijn database graag opschonen en alle velden met de datum van voor 01-07-2010 verwijderen.
Ik heb zelf iets bedacht, maar dat werkt dus niet:
DELETE * FROM `werk` WHERE 'datum' <= '2010-07-01-00:00'
Wat doe ik hier nu fout? Wat zou de goede synatx moeten zijn?
DELETE * FROM `werk` WHERE 'datum' <= '2010-07-01 00:00:00'
MySQL retourneerde:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM `werk` WHERE 'datum' <= '2010-07-01 00:00:00'' at line 1
Ai, nee, heb de schuine quotes veranderd in rechte, maar geen resultaat, ik google me slap, maar kom maar niet aan de oplossing, heb je nog een helder moment?
?
Onbekende gebruiker
16-01-2011 21:03
Jullie raken in de war met de stomme backticks (`) die mysql heeft bedacht.
Het moet zo zijn:
DELETE FROM werk WHERE datum <= '2010-07-01 00:00:00';
Meestal doe je geen delete, maar doe je een flag zetten dat het 'gedelete' is.
Je delete de rows niet, maar je hebt een apart veld waarin je de status in opslaat.
Klopt, doe ik zelf ook altijd.
Dus niet DELETE maar UPDATE. En dan een extra veld aanmaken waarin je de status kunt wijzigen. Op die manier kun je over 100 jaar nog steeds bij jouw gegevens maar worden ze nu niet weergegeven.
Karl het is gelukt:
Verwijder rijen: 10993 (Query duurde 0.2151 sec)
SQL-query : [Wijzigen] [Creƫer PHP Code]
DELETE FROM werk WHERE datum <= '2010-07-01 00:00:00'
Helemaal top, dank je wel voor je hulp, ik neem een biertje op jou!
Fijne avond verder!
Met vriendelijke groet,
Peter Arendse
Zaandam
[size=xsmall]Toevoeging op 16/01/2011 21:13:05:[/size]
Ow, dat is dan nu te laat, maar ach, er zijn instanties in Nederland die niet alles hoeven te weten wat er in mijn electronische agenda staat(stond) toch!?