Quote
thomas seillan
-------------------------------------------------------
> Je n'utilise jamais de champ auto incrémenté, je
> me sers à la place de clefs générées par mes
> scripts.
Est-ce qu'il y a une raison technique à ça ? Utiliser des chars en clé primaire, c'est syntaxiquement tout à fait valide, mais pose un problème de maintenance et il me semble qu'il est largement plus simple de laisser le SGBD gérer lui-même les clés primaires. Oui, ce sont des données systèmes, mais ça ne doit pas être en même temps des données métiers, en ce sens que leur valeur ne doit pas être accessible à l'utilisateur de l'application comme référence pour un élément du contenu. S'il a besoin d'une référence pour un article, une architecture ou quoique ce soit d'autre qu'il peut manipuler lui-même, il est de très très loin préférable d'ajouter une colonne quitte à l'indexer en UNIQUE si nécessaire.
Et tout ceci pour en revenir à la question de départ : s'il y a des conflits, il est certes possible que ça vienne de MySQL, mais je ne parierais pas ma chemise là-dessus précisément à cause de ce que je viens d'exposer. Manipuler soi-même les clés primaires, c'est s'exposer à des risques ayant ce genre de conséquence. Et malheureusement je ne peux pas me prononcer plus précisément faute d'éléments suffisants.
______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)