Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
943 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment gérer les accès concurrents dans une base MySQL?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment gérer les accès concurrents dans une base MySQL?

n°404675
tet2neu
emmerdeur
Posté le 22-05-2003 à 16:31:39  profilanswer
 

Oui si j'ai une table individu avec un champ num_individu en auto increment ; si je récupère le max de num_individu et qu'après j'insère un nouvel individu, si un autre a été inséré entre temps, mon max n'est plus valide... :??:

mood
Publicité
Posté le 22-05-2003 à 16:31:39  profilanswer
 

n°404683
johnix
Un jour vous en aurez un
Posté le 22-05-2003 à 16:33:53  profilanswer
 

Tet2neu a écrit :

Oui si j'ai une table individu avec un champ num_individu en auto increment ; si je récupère le max de num_individu et qu'après j'insère un nouvel individu, si un autre a été inséré entre temps, mon max n'est plus valide... :??:  


 
En tte logique, si tu as choisi une clé auto incrémentée, il faut surtout pas s'amuser à chercher à l'imposer (de tte manière ça rique de gueuler)
 
Il existe une fonction en php qui te retourne la dernière valeur auto incrémentée je crois
 
 
attends je cherche


---------------
Les chats stro bien stoo | http://johnix.free.fr/index.php
n°404696
tet2neu
emmerdeur
Posté le 22-05-2003 à 16:37:34  profilanswer
 

Johnix a écrit :


 
En tte logique, si tu as choisi une clé auto incrémentée, il faut surtout pas s'amuser à chercher à l'imposer (de tte manière ça rique de gueuler)
 
Il existe une fonction en php qui te retourne la dernière valeur auto incrémentée je crois
 
 
attends je cherche  


 
Mais entre le moment où cette fonction renvoie la dernière valeur et le moment où j'insère mon individu dans la base, comment savoir si max+1 n'est pas occupé par quelqu'un d'autre qui ferait la meme requete que moi pratiquement en meme temps...
Y a pas un moyen de bloquer les insertions dans la table ?


Message édité par tet2neu le 22-05-2003 à 16:40:58
n°404725
Profil sup​primé
Posté le 22-05-2003 à 16:49:56  answer
 

bah tu ne specifies pas de valeur pour ton champ en auto increment
et tu peux recuperer le nouvel id créé par mysql_insert_id()

n°404943
johnix
Un jour vous en aurez un
Posté le 22-05-2003 à 18:46:34  profilanswer
 

Tet2neu a écrit :


 
Mais entre le moment où cette fonction renvoie la dernière valeur et le moment où j'insère mon individu dans la base, comment savoir si max+1 n'est pas occupé par quelqu'un d'autre qui ferait la meme requete que moi pratiquement en meme temps...
Y a pas un moyen de bloquer les insertions dans la table ?


 
en gros si tu ne fais rien de particulier, ça marchera sauf si 2 ajouts lors de la même seconde (très rare)
 
Si tu veux absolument éviter ça, utilise les identifiants de sessions


---------------
Les chats stro bien stoo | http://johnix.free.fr/index.php
n°405194
mrbebert
Posté le 22-05-2003 à 23:15:04  profilanswer
 

Même pas, c'est géré au niveau de la connexion.
Le seul moyen de récupérer un identifiant qui ne soit pas celui de la ligne que l'on vient d'insérer, c'est d'avoir fait une autre insertion avec la même connexion à la base, c'est à dire venant du même programme/script

n°405397
drasche
Posté le 23-05-2003 à 08:53:40  profilanswer
 

yack a écrit :

bah tu ne specifies pas de valeur pour ton champ en auto increment
et tu peux recuperer le nouvel id créé par mysql_insert_id()


je plussoie :jap:
 
un appel à mysql_insert_id() juste après ton insertion et tu auras toujours l'id de l'enregistrement que tu viens d'insérer.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°406245
tet2neu
emmerdeur
Posté le 23-05-2003 à 16:02:23  profilanswer
 

Bien bien merci les gars


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment gérer les accès concurrents dans une base MySQL?

 

Sujets relatifs
[Java] Facon simple de gérer les dates avec années bissextile..[MySQL] DROP TABLE de plusieurs tables
[Access/Mysql] Accès à ma base mysql dans accessmysql VS XML
Prbl d'insert dans MySQL (a devenir fou !)Prbl pour importer dans la base de registre
[mysql] PB requete avec des select imbriquésrestriction d'acces par htaccess ne fonctionne pas
Plus de sujets relatifs à : Comment gérer les accès concurrents dans une base MySQL?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR