Obtenir les dernières supprimé ID dans MySQL
Similaire à LAST_INSERT_ID()
, est-il un mécanisme pratique de MySQL pour obtenir la dernière supprimé ID après une ligne a été supprimé?
Pourquoi avez-vous besoin de valeurs qui ne sont plus dans la base de données? Pour une réponse plus précise c'est une question essentielle.
OriginalL'auteur pillarOfLight | 2011-12-20
Vous devez vous connecter pour publier un commentaire.
Par "ID", je suppose que vous voulez dire "auto-increment"?
Puisque vous pouvez supprimer n'importe quelle ligne (ou un ensemble de lignes) à tout moment: non, il n'y a aucun moyen de dire QUI de ligne (ou de lignes) vous avez récemment supprimé.
Vous peut, cependant, de créer un "déclencheur" pour enregistrer cette information pour vous:
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
OriginalL'auteur paulsm4
Au lieu de créer un déclencheur, vous avez besoin pour utiliser cette chaque fois lorsque vous supprimez
OriginalL'auteur Tamkeen
Il dépend de la façon dont vous faites des suppressions. Mais si vous avez un entier colonne id, vous pouvez utiliser ce hack:
Mais vous devez vous assurer que MySQL courts-circuits de l'ancien état et ne pas optimiser pour exécuter
user_id = LAST_INSERT_ID(user_id)
premier. C'est que vous pouvez ajuster la requête à quelque chose comme:P. S. je ne me demandez pas pourquoi, vous pourriez avoir besoin. Très probablement, vous ne devriez pas vous le voulez =)
OriginalL'auteur newtover
Si vous arrive d'être l'appel de votre base de données MySQL à partir de JDBC, ensuite, vous pouvez exécuter une
SELECT
et appelResultSet.deleteRow()
que vous lisez à travers les résultats et de saisir le code.Exemple table
OriginalL'auteur Kirby
Le hack avec last_insert_id a déjà été mentionné, mais cette réponse
manque le fait qu'il puisse agrégé de!
le dernier id inséré a taille fixe mais par petites touches, il pourrait être utilisé.
OriginalL'auteur Daneel S. Yaitskov