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 :

update et foreign key


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut update et foreign key
    Bonjour tout le monde,

    j'ai les 2 tables suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     create table os
    (numero_os int(50) unsigned not null auto_increment primary key,
     nom_os char(50) not null,
     version char(50) not null,
    )
    type=innoDB
    ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     create table machine
    (numero_machine int unsigned not null auto_increment primary key,
     nom_machine char(50) not null,
     ip_machine char(50) not null,
     ip_ssh char(50) not null,
     numero_os int(50) unsigned not null,
     index (numero_os), foreign key (numero_os) references os (numero_os)
    )
     type=innoDB
    ;

    Par une requete sql je souhaiterais mettre à jour la table machine. Mais comme numero_os est une foreign key cela ne veut pas se faire par un update classique du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    update machine set nom_machine="machine1",ip_ssh="xxx.xxx.xxx.xxx"
    ,ip_machine="xxx.xxx.xxx.xxx", numero_os=2 where numero_machine=machine2;
    Y'a t'il une autre solution pour mettre a jour numero_os a jour ?

    merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 102
    Points
    102
    Par défaut
    il suffit que la valeur que tu souhaites mettre pour numero_os existe dans la table référencé.
    Par ailleurs ton create table à une reference recursive au niveau de la FOREIGN KEY et devrait sans doute etre REFERENCEs table_os ( numero_os )

Discussions similaires

  1. Réponses: 13
    Dernier message: 27/08/2015, 17h46
  2. Réponses: 3
    Dernier message: 28/11/2011, 17h26
  3. Foreign Key, On Update Cascade..
    Par Niko2805 dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/09/2011, 18h59
  4. Réponses: 3
    Dernier message: 13/09/2011, 11h02
  5. Réponses: 0
    Dernier message: 12/12/2007, 21h10

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