IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

conditions avec un insert into


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut conditions avec un insert into
    Voilà je dois faire un insert into matable que si il ne trouve pas de ligne dans cette meme table avec certains critères.
    Je pourrais évidemment faire un select avec les critères et ensuite si on trouve pas on insère mais cette solution n'est pas terrible au niveau sécurité il peut y avoir plusieurs connexions en même temps et fausser les résultats donc en créant deux insert into en meme temps. je pensais plutot si c'est possible de faire un insert into table values ('','','') where colonne1!=10 and colonne2!=2006 and colonne3!=254
    donc dans ce cas on fait l'insert que si les 3 colonnes n'ont pas les valeurs indiqués donc si la ligne n'existe pas déjà avec ces valeurs.
    Est-ce possible ?
    derrière si je fais un mysql_num_rows çà me permettra de savoir si l'insert à été fait ou non car il devrait contenir 1 si l'ajout a été fait non ? et si il contient 0 je dois faire un update avec les critères ci-dessus en incrémentant de 1 une valeur

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Si tu as peur qu'un autre script modifie la table entre ton select et ton insert tu peux utiliser LOCK TABLE matable WRITE (pour mysql et la syntaxe est a vérifier) qui permet d'empecher quelqu'un d'autre d'écrire dans la table entre tes deux requetes (fais un UNLOCK TABLES apres). Des que tu debloques la table les autres scripts continueront leurs requete comme si de rien n'était.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    Essaye aussi de voir ça avec une procédure stockée ou une transaction SQL...

Discussions similaires

  1. Erreur 3134 avec un INSERT INTO
    Par Tintou dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/04/2007, 17h27
  2. [MySQL] Probleme avec un INSERT INTO
    Par heruwenli dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/10/2006, 14h45
  3. exporter dans un format avec des insert into
    Par kurkLord dans le forum Oracle
    Réponses: 2
    Dernier message: 12/06/2006, 11h43
  4. Pb d'écriture intempestive dans table avec SQL insert into
    Par pete_shifter dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/11/2005, 11h51
  5. Réponses: 2
    Dernier message: 21/07/2005, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo