Datensatz verschieben

tami

Grünschnabel
Hi leutz,

ist es möglich bei Mysql einen Datensatz von tabelle a in tabelle b der gleichen datenbank zu verschieben?

ich hab ein news-script geschrieben und möchte noch eine art newsarchiv einbauen...

gibt es eine möglichkeit die datensätze automatisch in eine neue tabelle zu verschieben. so dass theoretisch in der news table nur 5 datensätze verbleiben und der 6te eintrag jeweils automatisch in zb news_archiv table verschoben wird(natürlich der älteste der 6 ;) )...?


wäre für eure hilfe dankbar...

greetz
 
Da gibt es glaub ich nur eine Möglichkeit. Und zwar den Datensatz aus der einen Tabelle löschen und mit INSERT INTO in die andere Tabelle einfügen. Du solltest in deinem Script immer überprüfen, wieviele Datensätze nach dem Einfügen eines neuen in der news-Tabelle drin sind, übersteigt die Anzahl einen bestimmten Wert z.B. 5, dann holst du dir mit einer Abfrage den ältesten und speicherst die Werte, dann löscht du ihn und fügst einen neuen Datensatz in deine newsarchiv-Tabelle ein, anhand der gespeicherten Werte.

Gruss Homer
 
mir is da noch eine andere idee gekommen.

kann ich irgendwie durch einen befehl festlegen dass das newsscript nur die letzten 5 datensätze ausliest und das newsarchivscript die restlichen?...
 
jo kla, mach einfach nen limit in die abfrage :)

für die ersten 5 einträge:
Code:
$query = "SELECT 
                 news_id,
                 news_autor,
                 news_date,
                 news_text,
                 news_....
                 FROM tabelle
                 ORDER BY news_id DESC
                 LIMIT 0,5";
    $result = mysql_query($query,$conn);
             usw.....

fürs archiv:
Code:
$query = "SELECT 
                 news_id,
                 news_autor,
                 news_date,
                 news_text,
                 news_....
                 FROM tabelle
                 ORDER BY news_id DESC
                 LIMIT 6,100";
    $result = mysql_query($query,$conn);
             usw.....

Das LIMIT bewirkt bei den ersten 5, dass die datensätze von 0 bis 5 ausgelesen werden und beim archi, dass die datensätze von 6 bis 100 ausgelesen werden, wobei ich mir jetzt net sicher bin (bin zu müde :)) ob du beim archi net 5,100 angeben musst, statt 6,100 ;) probiers aus ;)
 
Weil es mich auch interessiert, geht das alles in einer Abfrage, oder can ich mit dem Query Ergebnis weiter arbeiten oder muß ich dann Reihe für Reihe des Query Ergebnisses vorgehen?

Gruß
 

Neue Beiträge

Zurück