En base de données, il existe des différences importantes entre un TRUNCATE et un DELETE :
Sur ce dernier point, il est intéressant de comprendre qu'en cas de suppression d'une partie des lignes d'une table par un DELETE, les prochaines insertions continueront avec la dernière valeur enregistrée pour la séquence.
Les séquences ayant une limite, si cette valeur maximale est atteinte, plus aucune insertion ne se fera. Pour éviter cela autant que possible, voici un code SQL à utiliser après une suppression de lignes : il va recalculer la valeur maximale de la séquence et la fixer.
Remplacez table par le nom de votre table et id par le champ de type serial.
Cette clause SQL n'a évidemment d'intérêt que si les lignes avec la plus grande valeur d'auto-incrément sont supprimées.
| | |