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
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.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 )
Quand j'essaye d'ajouter une entrée avec le logiciel il tente de faire la requete suivante
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"insert into `building_upgrade`(`id_subject`,`name`,`id_trigger`,`action_start_target`,`action_value`) values ( '0',NULL,'1','1','1')
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 !
Partager