Erstmal: was für eine SQL-Datenbank hast du denn?
Ohne die Info wirds zumindest mit der genauen Syntax schwer.
Also die kompletten daten:
MySQL server 5.0.21
und das ist die tabelle um die es geht
CREATE TABLE historylist (
ID int(11) NOT NULL auto_increment,
songID int(11) NOT NULL default ‚0‘,
filename varchar(255) NOT NULL default ‚‘,
date_played datetime NOT NULL default ‚0000-00-00 00:00:00‘,
duration mediumint(9) NOT NULL default ‚0‘,
artist varchar(255) NOT NULL default ‚‘,
title varchar(255) NOT NULL default ‚‘,
album varchar(255) NOT NULL default ‚‘,
albumyear varchar(4) NOT NULL default ‚‘,
website varchar(255) NOT NULL default ‚‘,
buycd varchar(255) NOT NULL default ‚‘,
picture varchar(255) NOT NULL default ‚‘,
listeners mediumint(9) NOT NULL default ‚0‘,
label varchar(100) NOT NULL default ‚‘,
pline varchar(50) NOT NULL default ‚‘,
trackno smallint(6) NOT NULL default ‚0‘,
composer varchar(100) NOT NULL default ‚‘,
ISRC varchar(50) NOT NULL default ‚‘,
catalog varchar(50) NOT NULL default ‚‘,
UPC varchar(50) NOT NULL default ‚‘,
feeagency varchar(20) NOT NULL default ‚‘,
songtype char(1) NOT NULL default ‚‘,
requestID int(11) NOT NULL default ‚0‘,
overlay ENUM( ‚yes‘, ‚no‘ ) DEFAULT ‚no‘ NOT NULL ,
songrights SET( ‚broadcast‘, ‚download‘, ‚on-demand‘, ‚royaltyfree‘ ) DEFAULT ‚broadcast‘ NOT NULL,
PRIMARY KEY (ID),
KEY date_played
(date_played
)
) TYPE=MyISAM;
bei date_played wird immer das aktuelle datum eingetragen.
Ansonsten kannst du ja immer vom aktuellen Datum(Sysdate?Now?)
6 Monate abziehen, und den Wert dann mit dem in der
Tabellenspalte vergleichen
dann müsste ich ja bei jedem aufruf alle ca. 10000 Einträge mit dem Datum vergleichen.
Habe mir das so gedacht das ich irgendwo bei MySQL einstellen kann das diese tabelle ebenen nicht mehr als 6Monate einträge speichert. Was auch okey wäre wenn ich ihr sagen könnte max 10000 Einträge, kommt dann ein neuer, lösche den ältesten
Lg
IceDragon