Wie lösche ich jeden Datensatz nach der n-ten Zeile in mysql?

8

In mysql kann ich select * ... LIMIT 10, 30 abfragen, wobei 10 die Anzahl der zu überspringenden Datensätze darstellt.

Weiß jemand, wie ich in delete-Anweisungen dasselbe tun kann, wenn jeder Datensatz nach den ersten 10 Datensätzen gelöscht wird?

    
Roman 03.07.2011, 06:27
quelle

3 Antworten

8

Wenn in MySQL kein rowId angegeben ist (wie in Oracle), würde ich Folgendes vorschlagen:

%Vor%

Damit werden Ihre Zeilen automatisch in der Reihenfolge einer select -Anweisung ohne Bedingungen oder Reihenfolge sortiert.

%Vor%

Dann nach der Überprüfung der Reihenfolge ist konsistent mit Ihren Bedürfnissen (und vielleicht ein Dump der Tabelle)

%Vor%

Schließlich möchten Sie möglicherweise dieses Feld entfernen

%Vor%     
Ring Ø 03.07.2011 07:06
quelle
2

Folgendes funktioniert NICHT :

%Vor%

Aber das wird:

%Vor%

Und auch das:

%Vor%     
ypercubeᵀᴹ 03.07.2011 09:14
quelle
0

Wenn Sie viele Zeilen löschen, ist dies ein effizienter Trick:

%Vor%     
Rick James 08.07.2016 23:35
quelle

Tags und Links