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 :

inserer des données dans une vue


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 97
    Points : 45
    Points
    45
    Par défaut inserer des données dans une vue
    Bonjour à tous j'ai une petite question

    J'utilise un petit programme de gestion de base de donnée (SQLyog) pour administrer ma base MySQL.

    Dans ma base de donnée j'ai une table qui utilise pas mal de clé etrangères de ce fait quand je dois saisir des données il pas facile d'avoir un apercu visuel car il y a beaucoup de champs avec des identifiant de clé étrangères sous forme de chiffre.

    Pour avoir quelque chose de plus visuel j'ai essayé de creer une vue en faisant des jointure sur les clés étrangères afin d'afficher des champs qui on un nom parlant. par exemple

    DROP VIEW IF EXISTS `des`.`building_upgrade`;
    CREATE
    VIEW `tatouine`.`building_upgrade`
    AS
    (SELECT id_subject, name, id_trigger, action_start_target, action_value FROM buildings_units_triggers INNER JOIN constructions ON buildings_units_triggers.id_subject = constructions.id )
    Dans mon exemple ma table va afficher 5 champs 4 de la table principale plus le champs "name" hérité de la table constructions. En d'autre termes le champs name doit etre présent juste a titre informatif et visuel par rapport à la clé étrangère.

    Quand j'essaye d'ajouter une entrée avec le logiciel il tente de faire la requete suivante

    insert into `building_upgrade`(`id_subject`,`name`,`id_trigger`,`action_start_target`,`action_value`) values ( '0',NULL,'1','1','1')
    autrement dit il essaye de donner une valeur au champ "name" qui devrait etre déduit avec le join. c'est donc interdit et on me répond "cannot modify more than one base table through a join view"

    Est il possible de faire un ajout sur une vue sans toucher au champs joiné?

    Existe-il des outils pour la saisie de données en se basant sur les clé étrangères?

    Merci beacoup !

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    L'insertion dans une vue n'est possible que si l'insertion se fait sur une seule table et qu'elle respecte les contraintes relationnelles.

    Bon courage
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

Discussions similaires

  1. [PDO] Inserer des données dans une table
    Par Dj_xXx dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/10/2008, 16h28
  2. [XI] Inserer des données dans une Table depuis CRXI
    Par jouberts dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 10/07/2007, 09h21
  3. [debutant]inserer des données dans une table
    Par khayate dans le forum VB.NET
    Réponses: 15
    Dernier message: 06/06/2007, 09h02
  4. Inserer des données dans une table access SQL
    Par ouellet5 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/11/2005, 21h11

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