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 :

INSERT INTO SELECT dans la même table


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Par défaut INSERT INTO SELECT dans la même table
    Bonjour à tous, férus de SQL !

    Je viens demander mon aide pour la première fois car je sèche.

    Je voudrais faire un INSERT avec un champ "auto" incrémenter une table (je parle pas de champ auto incrémente) avec une sous requête dans la même table.

    Je sais comment le faire avec une table tmp dans un UPDATE mais ça ne marche pas dans un INSERT

    voilà en gros en requête ce que je n'arrive pas à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO `me_index` (`meiid`,`meid`,`step`)
    VALUES (
    NULL, 
    '$meid', 
    (SELECT * FROM (SELECT (MAX(step)+1) FROM me_index WHERE meid = $meid) AS tmp), 
    );
    je souhaite incrémenter step, pour meid = $meid, et si possible en une requête !

    Est-ce possible ?

    sinon comment sans faire INSERT puis UPDATE MAX() + 1 ?


    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Par défaut
    Je précise que la requête marche si j'ai déjà un champ avec "meid", sinon elle me retourne #1048 - Column 'step' cannot be null

    De plus la requête marche si je remplace MAX par COUNT, donc mon problème survient quand aucune entrée n'a encore été insérée pour le meid en cours !

    Une idée ?

    Merci

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Bonjour,

    Essaie en remplaçant MAX(step)+1 par MAX(COALESCE(step, 0)+1...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 9
    Par défaut
    It rocks nicely !

    Super ça marche

    Ca marchait aussi en mettant COUNT(step)+1, mais je trouve moins propre !

    Merci c'est cooooooool !!!

    J'ai de bonnes notions, quoi que, mais Comment devenir un AS de SQL, a part faire l'INSA ??!!!

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

Discussions similaires

  1. insert into select dans le standard JPA
    Par Sfaxiano dans le forum JPA
    Réponses: 1
    Dernier message: 17/02/2012, 10h34
  2. [MySQL] Insert into multiple dans même table
    Par andaman dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/01/2011, 17h51
  3. Réponses: 2
    Dernier message: 21/01/2010, 09h50
  4. probleme dans un INSERT INTO...........SELECT
    Par briiice dans le forum Requêtes
    Réponses: 5
    Dernier message: 26/01/2006, 16h13
  5. [Insert et Select de la même table]
    Par lucimast dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/01/2004, 15h53

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