Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
J'ai une table avec deux champs ( article et désignation) et une autre avec 10 champs ( les deux premiers champs sont identiques à me première table.
Question :
Est il possible que le deuxième table soit mise à jour automatiquement lorsque la première est modifiée?
A la question pourquoi avoir deux tables, la réponse est :
La table 1 sera mise à jour (2 fois par jour) à partir d'un autre serveur.
merci à tous pour votre aide éventuelle.
Un infographiste qui essaie d'apprendre le PHP ( et a beaucoup de mal)
Hors ligne
>>A la question pourquoi avoir deux tables, la réponse est :
>>La table 1 sera mise à jour (2 fois par jour) à partir d'un autre serveur.
Pourquoi ne pas faire du temps réel ??
>>Est il possible que le deuxième table soit mise à jour automatiquement lorsque la première est modifiée?
oui, on peu faire ça avec un trigger
a++
Hors ligne
qqchose du genre :
CREATE TRIGGER nomtrigger BEFORE INSERT ON tatable
FOR EACH ROW
BEGIN
INSERT INTO NEW.article,NEW.designation FROM tonautretable
END
a++
Hors ligne
Merci Pierrot, pour l'info, je me lance dès maintenant dans cette direction.
Hors ligne
Bon je commence à voir comment cela fonctionne, mais question bête le create trigger jele mets OU.?
@+
Hors ligne
tu utilises quoi pour gérer ta base de données ?
a++
Hors ligne
C'est un base données alimentée par des formulaires Php
Par contre me première table ( 2 champs) sera alimenté depuis un autre serveur ( .... mais, je ne sais pas comment)
Hors ligne
utilises tu phpmyadmin ?
a++
Hors ligne
Oui, c'est bien php admin
merci de te pencher sur mon probleme
@+
Hors ligne
bon, je te met qq chose pour ce soir
de suite, je suis occupé
donne moi le format exact des tes tables.
n'oublis pas qu'il te faut un champ unique sur lequel t'appuyer
a++
Hors ligne
C'est vraiment super de bien vouloir m'aider :
Table d'origine :
--
-- Contenu de la table `liste_article`
--
INSERT INTO `liste_article` (`Code_article`, `Designation`) VALUES
('FM-H8000001', 'BOUCHON,D29 '),
('FM-H8000003', 'BOUCHON,D17 '),
('FM-H8000008', 'FLACON-BLANC,75ML,DUMA '),
Ensuite la table qui doit être mise à jour automatiquement (2 champs commun)
les champs restant de cette table seront mis à jour d'après un formulaire PHP.
Encore Merci
Bon courage
@+
Hors ligne
Voilou, les deux triggers
-- 1er trigger sur insert
DELIMITER $$
CREATE TRIGGER ins_liste_article BEFORE INSERT ON liste_article
FOR EACH ROW
BEGIN
INSERT INTO etui (Code_article,Designation) VALUES (NEW.Code_article,NEW.Designation) ;
END
$$
DELIMITER ;
-- 2 iem trigger sur update
DELIMITER $$
CREATE TRIGGER up_liste_article BEFORE UPDATE ON liste_article
FOR EACH ROW
BEGIN
UPDATE etui SET Designation=NEW.Designation WHERE Code_article=NEW.Code_article;
END
$$
DELIMITER ;
Apres avoir mis ces 2 triggers dans la base de données, un ajout ou une modification sur la table 'liste_article' devrait se répercuter sur la table 'etui'.
Je met cet exemple a titre pédagogue
Mais je ne vois pas qu'elle contrainte t'oblige a faire çà comme çà;)
bon courage, parce qu'en réfléchissant de cette manière, tu vas en avoir besoin
a++
Hors ligne
vraiment merci pour cet exemple.
J'explique ma démarche:
j'ai une base de données de référence (BPCS sur un serveur)
mais comme je peux pas renseigner mes infos techniques dans cette base, il me faut une autre base.
donc la seule solution que j'ai trouvé, c'est d'obtenir une liste ( liste_article ----->mise à jour régulièrement) des articles qui sont créés dans BPCS et de m'en servir pour gerer mes infos techniques dans ma base etui.
Par contre autre chose, je ne comprends pas comment faire pour mettre les triggers dans la base.
Encore mille fois merci pour ton aide.
@+
Hors ligne
un trigger est une suite d'instruction SQL
Donc, tu colle de DELIMITER $$ à DELIMITER ; dans le textarea de PHPMyAdmin et tu lance le 1er ordre create trigger
tu fais de même pour le 2iem
et tes 2 triggers sont dans la DB
après, y a pu qu'a inserer et modifier pour vérifier le bon fonctionnement
Mais, il ne devrai pas y avoir de probleme
a++
Dernière modification par Pierrot (14-11-2009 17:27:09)
Hors ligne
Super, j'ai fais mes premiers test et cela fonctionne.
Un grand merci à toi Pierrot.
Bonne fin de week-end
@+
Infograph61
Hors ligne
Bien content de t'avoir aidé
Ca me fait plaisir de revenir sur ce site que j'ai lâchement abandonné pendant près de 5 ans :D
Enfin un topic mené à son terme sans anicroche :D
a++
Hors ligne
D'aileur, ce topic n'a pas sa place ici
il devrait être dans la section MYSql
Alors, qu'est-ce que vous foutez les modo's :mad:
a++
:D
Hors ligne
Suffisait de demander...
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
bah, c'est ce que j'ai fais :D
a++
Hors ligne
Nos réactions de modo sont empreintes du syndrome de l'œuf de Pediculus humanus
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1