{MySQL} Pb insertion nouvo utilisateur dans sql
Fermé
Bonjour,
J'ai réussi à insérer des utilisateurs dans ma base de données par une requête INSERT INTO mais mon pb c'est que lorsqu'il est enregistré dans ma base de données les idutilisateurs ne se suivent pas du tout, cela passe de 1 à 12 car j'ai fait beaucoup de tests et supprimer au fur et à mesure mais comment passer de 1 à 2, de 2 à 3, de 3 à 4 et non de 4 à 12, de 12 à 15 ...etc même si entre temps je supprime les derniers utilisateurs enregistrés et où placer dans mon code php avant ou après le INSERT INTO et quelle est la syntaxe exacte???
Merci d'avance pour vos solutions.
J'ai réussi à insérer des utilisateurs dans ma base de données par une requête INSERT INTO mais mon pb c'est que lorsqu'il est enregistré dans ma base de données les idutilisateurs ne se suivent pas du tout, cela passe de 1 à 12 car j'ai fait beaucoup de tests et supprimer au fur et à mesure mais comment passer de 1 à 2, de 2 à 3, de 3 à 4 et non de 4 à 12, de 12 à 15 ...etc même si entre temps je supprime les derniers utilisateurs enregistrés et où placer dans mon code php avant ou après le INSERT INTO et quelle est la syntaxe exacte???
Merci d'avance pour vos solutions.
A voir également:
- {MySQL} Pb insertion nouvo utilisateur dans sql
- Insertion sommaire word - Guide
- Insertion liste déroulante excel - Guide
- Touche insertion clavier - Guide
- Insertion signature word - Guide
- Insertion filigrane word - Guide
3 réponses
salut,
est-ce que c'est vraiment grave si les idutilisateurs ne se suivent pas ? risques-tu qqe chose si un utilisateur se rend compte que l'id 253 (ou le 156960) n'existe pas ?
normalement, un id est interne à la base, rien de plus.
le fait de "trous" dans la séquence n'est pas important... à moins que tu aies décidé de stocker ces id sur 2 caractères, ce dont je doute.
est-ce que c'est vraiment grave si les idutilisateurs ne se suivent pas ? risques-tu qqe chose si un utilisateur se rend compte que l'id 253 (ou le 156960) n'existe pas ?
normalement, un id est interne à la base, rien de plus.
le fait de "trous" dans la séquence n'est pas important... à moins que tu aies décidé de stocker ces id sur 2 caractères, ce dont je doute.
bah... un select count(1) from utilisateurs; devrait suffire
Hello,
le select count(1) from utilisateurs n'était pas destiné à être glissé dans une autre requête (genre insert).
ce select n'est qu'une réponse à si je veux savoir le nombre d'utilisateurs enregistrés dans ma base de données
et maintenant que tu as des trous dans tes idutilisateurs, tu ne peux plus utiliser le select count(1) dans un insert
ex: tu as 3 utilisateurs (1, 4 et 18... oui, il y a eu bcp de tests) et tu cherche à faire un
le moteur va calculer count(1) => 3, lui rajouter 1 => 4 et insérer 4, 'le nom saisi'... sauf que l'id 4 est déjà utilisé :-( c'est donc une méthode à proscrire. c'est d'ailleurs pour éviter ça et d'autres légers soucis qu'ont été inventés autoincréments et séquences
en conclusion :
- que les id ne se suivent pas n'est pas gênant
- l'éventuel comptage se fait avec un select count(1)
le select count(1) from utilisateurs n'était pas destiné à être glissé dans une autre requête (genre insert).
ce select n'est qu'une réponse à si je veux savoir le nombre d'utilisateurs enregistrés dans ma base de données
et maintenant que tu as des trous dans tes idutilisateurs, tu ne peux plus utiliser le select count(1) dans un insert
ex: tu as 3 utilisateurs (1, 4 et 18... oui, il y a eu bcp de tests) et tu cherche à faire un
insert into utilisateurs(idutilisateur, nomutilisateur) select count(1)+1, 'le nom saisi' from utilisateurs;
le moteur va calculer count(1) => 3, lui rajouter 1 => 4 et insérer 4, 'le nom saisi'... sauf que l'id 4 est déjà utilisé :-( c'est donc une méthode à proscrire. c'est d'ailleurs pour éviter ça et d'autres légers soucis qu'ont été inventés autoincréments et séquences
en conclusion :
- que les id ne se suivent pas n'est pas gênant
- l'éventuel comptage se fait avec un select count(1)
28 janv. 2010 à 02:13
Merci, j'aimerais quand même savoir s'il existe une solution...