Daten löschen

Hallo
Gibt es einen Befehl für SQL, damit z.B. alle Produkte die 2006 eingestellt wurden auf einen Schlag gelöscht werden können ohne von Hand diese zu löschen.
Also Produkte von 2007 und 2008 bleiben erhalten alles vom 1.1.2006 bis 131.12.2006 werden gelöscht.
Ich kann zwar die Datenbank runterladen , alle löschen und dann uploaden aber das müßte doch einfacher gehen?!

Gruß Thilo

Moin, Thilo,

delete \* from mytable
where year(proddatum) = 2006

Gruß Ralf

ähem??? funktioniert so nicht.
Also mein table heißt product und hier habe ich die Auswahl unter:
products_date_added oder
products_last_modified

wenn ich also
delete * from products where year (products_date_added) = 2006

kommt folgende Meldung:
MySQL meldet:

#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 products where year (products_date_added) = 2006‘ at line 1

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thilo,

delete * from mytable
where year(proddatum) = 2006

ähem??? funktioniert so nicht.
Also mein table heißt product und hier habe ich die Auswahl
unter:
products_date_added oder
products_last_modified

wenn ich also
delete * from products where year (products_date_added) = 2006

kommt folgende Meldung:
MySQL meldet:

#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 products where year
(products_date_added) = 2006‘ at line 1

Ich denke, der * ist zuviel, es müsste

delete from products where year (products\_date\_added) = 2006

Näheres im MySQL-Handbuch:
http://dev.mysql.com/doc/refman/5.1/de/delete.html

Viele Grüße
Marvin

Hallo Thilo,

Moin, Thilo,

delete * from mytable
where year(proddatum) = 2006

Gruß Ralf

ähem??? funktioniert so nicht.
Also mein table heißt product und hier habe ich die Auswahl
unter:
products_date_added oder
products_last_modified

Wem werden denn direkt die Gesichtszüge entgleisen, wenn mal einer nicht direkt Deinen SQL-Dialekt spricht? (Ursache hat Marvin schon mitgeteilt.)

Die Frage welches Feld Du nimmst musst Du schon selber beantworten: Was sollen denn passieren, wenn ein Produkt in 2006 eingestellt wurde aber in 2008 zu letzten Mal modifiziert wurde?

MfG Georg V.

Also zu Marvin:
Das hat genauso funktioniert wie ich es wollte.
Danke!

Die Frage welches Feld Du nimmst musst Du schon selber
beantworten: Was sollen denn passieren, wenn ein Produkt in
2006 eingestellt wurde aber in 2008 zu letzten Mal modifiziert
wurde?

dann kann ich auch products_last_modified nehmen.
Mir ging es vor allem um den Befehl.
Allerdings sind meistens die Produkte von 2006 in 2008 nicht mehr modifiziert worden.
Besten dank soweit