Sie haben eine Tabelle, die table1
id
Spalte enthält, dass int(11), not null, auto_increment
ist und geht von 1.SQL-Abfrage, um Datensätze gelöscht werden
Angenommen, Sie haben 10.000 Datensätze. Es ist klar, dass die ID des letzten Datensatzes 10.000 ist. Sobald Sie 3 Datensätze entfernt haben, haben Sie 9.997 Datensätze in der Tabelle, aber der letzte Datensatz-ID-Wert ist immer noch 10.000 (wenn der letzte Datensatz nicht gelöscht wurde).
Wie anzeigen, welche Datensätze mit 1 SQL-Abfrage entfernt wurden?
Vielen Dank.
Erstellen Sie eine Tabelle mit 10.000 sequentiellen Werten als Nachschlagetabelle. Wählen Sie dann alle Datensätze aus Ihrer Suche aus, die in Ihrer Zieltabelle nicht vorhanden sind. * (Dies ist immer schneller als der Versuch, die fehlenden IDs dynamisch zu erzeugen.) * – MatBailie
Wenn Ihr DMBS eine generate_series() - ähnliche Funktion hat (ich glaube nicht, dass mysql es hat), könnten Sie das verwenden, basierend auf {min, max }, anstelle einer fest verdrahteten kalander * tabelle *. – wildplasser
+1, weil ich etwas Neues gelernt habe, indem ich antwortete :) Eine anständige Frage :) –