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

Langage SQL Discussion :

Ajout d'un champ dans une table


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 17
    Points
    17
    Par défaut Ajout d'un champ dans une table
    Bonjour,
    je débute en sql et je suis confronté au problème suivant:
    j'ai une table A dans laquelle je souhaite rajouter un champ d'une table B avec la condition que A.id=B.id.
    Pour cela j'ai essayé la requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE A
    SET v=
    (SELECT t2.v
    FROM A t1, B t2
    WHERE t1.id=t2.id)
    J'obtiens l'erreur: "#1093 - You can't specify target table 'tfsites' for update in FROM clause"
    Je ne vois pas comment contourner ce problème.
    Merci d'avance pour aide.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Fiorenzo Voir le message
    je souhaite rajouter un champ
    C'est une requête ALTER TABLE qu'il te faut.
    Et ce que tu cherches à faire ressemble fortement à une clé étrangère (FOREIGN KEY).

    Cherche ces termes dans la doc de ton SGBD et tu trouveras ce qu'il te faut.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Merci pour ta réponse.

    Avec un ALTER TABLE j'ai l'impression que je peux juste rajouter un champ mais pas le remplir.

    Sans doute qu'avec ces 2 requêtes à la suite ça peut marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ALTER TABLE A
    ADD v INT(11) NOT NULL
     
    UPDATE A t1
    SET v=
    (SELECT v
    FROM B t2
    WHERE t1.id=t2.id)
    Je vais tester

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

Discussions similaires

  1. [AC-2010] Ajout d'un champ dans une table existante
    Par stephaccess dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 20/11/2013, 20h31
  2. ajout d'un champ dans une table et formulaire
    Par lounacou dans le forum IHM
    Réponses: 8
    Dernier message: 11/02/2011, 12h06
  3. Ajout d'un champs dans une table - Non manuellement
    Par MurielVBA dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/01/2008, 13h25
  4. Ajout d'un champ dans une table Access
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/12/2007, 14h27
  5. Ajout d'un champ dans une table liée
    Par Herman dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 21/06/2007, 10h02

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