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

Requêtes MySQL Discussion :

[requéte] Exécution d'une requéte d'insertion avec des conditions


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut [requéte] Exécution d'une requéte d'insertion avec des conditions
    bonjour,
    tout d'abord je vais vous montrer la structure de ma table commande :
    commande (id_cmd,date,n_ordre) // c'est seulement les champs qui m'intéresse pour le moment
    voial je veux savoir est ce que c'est possible de réaliser une requéte qui réponde à ces points :

    1-A chaque insertion dans la table commande,le champ 'n_ordre' s'incrément automatiquement (je pense que c'est faisable,je doit mettre auto_increment).
    2-Le champ 'n_ordre' va s'initialiser par la valeure 1 et il va continuer de s'incrémenter tant que la date d'insertion différente à (select max(date) from commande).

    c'est ca .
    ma requéte va commencer par : insert into commande ....

    ce qui m'interesse beucoup c'est comment initialiser un auto_increment et de faire une condition au moment de l'insertion.

    Merci d'avance pour vos réponses.

  2. #2
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    bonjour,
    suite à la question que j'ai postulé hier ,je veux savoir est ce sue c'est possible d'éxecuter ce type de requete :

    insert into commande (id,date,ordre) value ('','2007-05-08',select max(id) from commande)

    Merci d'avance pour votre réponse
    je commence petit à petit ,pour trouver une solution faisable.

  3. #3
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Pour un champ autoincrémenté et qui est initialisé à 1, c'est très simple. Quand tu crée ta table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomChamp INT NOT NULL AUTO_INCREMENT
    Pour les condition, je ne sais pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into commande (id,date,ordre) value ('','2007-05-08',select max(id) from commande)
    Cela (en tout cas chez moi) ne fonctionne pas!


    Tu peux faire des requêtes de type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO matable SELECT .... FROM .... WHERE

    Pour
    continuer de s'incrémenter tant que la date d'insertion différente à
    Dans MySQL 5, il y a moyen de mettre des conditions, mais je suis sous MySQL 4 et je ne connais pas.
    http://dev.mysql.com/doc/refman/5.0/...statement.html



    Jasmine,

  4. #4
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    bonjour,
    alors j'ai essayé tout seul de trouver la solution et bah voila j'ai postulé la question et en même temps j'ai répondu à mon besoin !

    voila la requéte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    insert into commande (date,ordre)
    select CURDATE(),if(CURDATE()>(select max(c.date) from commande c),1,
    (select max(cmd.ordre)+1 as ordre from commande cmd where cmd.date=CURDATE()))
    bon merci comme même ,mais vraiment si on boss un peu pour trouver la bonne réponse ,on y arrivera.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Faire fonctionner une requête qui lit une base Access 2010 avec mot de passe
    Par mister red dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/03/2015, 16h39
  2. Exécution d'une requête enregistrée dans une table
    Par Angelik dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/03/2015, 09h41
  3. [2012] Exécution d'une requête UPDATE dans une variable
    Par Fritzoune dans le forum Développement
    Réponses: 3
    Dernier message: 24/10/2014, 13h42
  4. Problème d'exécution d'une requête mssql depuis une page PHP
    Par megtrinity dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 07/07/2009, 23h01
  5. [SQL] Construction d'une requête à partir d'une requête
    Par Pgs dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/09/2007, 15h24

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