Gibt es einen SQL-Befehl zum Löschen der ersten X-Zeilen einer Datenbanktabelle?Löschen erster X-Zeilen einer Datenbank
Ich habe eine Datenbanktabelle mit einigen Informationen, aber keine ID oder Auto-Inkrementierung Wert und ein Programm, das die ersten X Zeilen dieser Tabelle verarbeitet. Danach müssen diese X Zeilen gelöscht werden. So ist die Standardabfrage ist:
DELETE FROM table WHERE something = value;
So gibt es eine Möglichkeit, eine Abfrage wie zu bauen:
DELETE FROM table WHERE rownumber <= X;
ich diesen Befehl versucht, aber es passiert nichts mit der Datenbank .. Haben Sie irgendeine Ahnung?
Seien Sie sehr vorsichtig, wenn Sie dies tun. Die Reihenfolge der Auswahl kann sich ändern, wenn Sie einen Index oder etwas Ähnliches hinzufügen. Der SQL-Server macht die einfachste Auswahl, die er finden kann, wenn er keine Where-Klausel hinzufügt. – Romo
Das ist richtig. Es gelten die üblichen 'ORDER BY' Anforderungen. Ich habe das bearbeitet, um das zu reflektieren. – Polynomial
Danke für deine Antwort! Ich habe das versucht und es funktioniert leider nur, wenn eine Bedingung gegeben ist. So verwende ich jetzt 'DELETE FROM Tabelle WHERE a_field> 0 LIMIT X;' Dies funktioniert so weit. Danke :-) – coroner