Bonjour,
Cette question concerne peut-être tous les SGBDD, mais dans le doute, et utilisant MySQL, je préfère poster ici.
Soit 10 enregistrements dans une table avec une clé primaire de type mediumint, en autoincrement, donc.
J'obtiens, pour mes 10 premières insertions dans la table, les valeurs de clé suivantes : 1, 2, 3, ..., 10
J'efface des enregistrements, et procède à une réinsertion. Le numéro affecté à la clé primaire est 11. Autrement dit, MySQL ne réaffecte pas un autre numéro plus petit, auparavant libéré du fait de la suppression.
Ce comportement me convient, car dans le cadre d'une insertion multiple, j'ai besoin de récupérer les valeurs de clé primaire. Il me suffit donc de récupérer le premier. S'il vaut 15 et que j'insère 10 nouveaux enregistrements, leurs clés sera 15, 16, 17, ..., 25. Donc c'est parfait.
Ma question, c'est de savoir si c'est fiable. C'est à dire est-ce qu'il y a un risque qu'à un moment donné, MySQL utilise des valeurs inférieures, ou repart-elle toujours de la valeur la plus haute attribuée ?
J'ai essayé un alter table, et c'est toujours ok.
Donc je voulais juste m'assurer de ce fonctionnement. Car si MySQL réutilisait des valeurs inférieures, elles pourraient ne pas se suivre (genre 10, 18, 23, 24...) et en cas d'insertions multiples, je ne pourrait plus récupérer les valeurs associées.
J'espère ne pas avoir été trop flou, si vous ne me comprenez pas, dites-le moi !![]()
Merci de m'avoir lu en attendant![]()
Partager