php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.07.2011, 13:41  
Neuer Benutzer
 
Registriert seit: 16.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Phips_CH befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Trigger nich für alle neuen Einträgen anwenden

Hallo Zusammen

Ich hab eine mySQL-Datenbank die ich mit PHP abfrage.

nun hab ich einen Trigger erstellt, welchen mir zu jedem Datensatz den ich in die Tabelle1 einfüge, die ID, zusammen mit allen ID's aus Tabelle2 bei denen das Datum noch bevor steht, in eine Verknüpfungstabelle (Tabelle3) schreibt.

Code:
CREATE TRIGGER xy AFTER INSERT ON tabelle1    
FOR EACH ROW
BEGIN
INSERT IGNORE INTO tabelle3 (IDtabelle1, IDtabelle2)
SELECT NEW.ad_ID,tabelle2.tabelle2_ID       
FROM tabelle2
WHERE tabelle2.datum > NOW();
END;
Funktioniert wunderbar.

Nun möchte ich aber nicht alle Datensätze aus Tabelle1 in die Tabelle3 kopieren.

gibt es da eine Möglichkeit eine Spalten aus Tabelle1 abzufragen, z.B. wenn die '0' oder <> '0' ist, soll der Trigger xy nicht ausgeführt werden.

Grüsse aus der Schweiz
Phips_CH
Phips_CH ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.07.2011, 13:50  
Erfahrener Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 681
PHP-Kenntnisse:
Anfänger
Harry_X befindet sich auf einem aufstrebenden Ast
Standard

na, da wirst du doch wohl im SELECT-Statement deine WHERE-Bedingung entsprechend anpassen können
Harry_X ist offline   Mit Zitat antworten
Alt 16.07.2011, 14:31  
Neuer Benutzer
 
Registriert seit: 16.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Phips_CH befindet sich auf einem aufstrebenden Ast
Standard

das dachte ich mir auch aber leider blieben meine Versuche bis jetzt erfolglos.
Hat jemand eine Idee wie ich es noch versuchen könnte?

Gruss
Phips_CH
Phips_CH ist offline   Mit Zitat antworten
Alt 16.07.2011, 14:34  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Phips_CH Beitrag anzeigen
das dachte ich mir auch aber leider blieben meine Versuche bis jetzt erfolglos.
Dann zeige uns diese Versuche bitte.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 16.07.2011, 14:36  
Erfahrener Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 681
PHP-Kenntnisse:
Anfänger
Harry_X befindet sich auf einem aufstrebenden Ast
Standard

indem du in deinem SELECT-Statement deine WHERE-Bedingung entsprechend anpaßt?
Harry_X ist offline   Mit Zitat antworten
Alt 16.07.2011, 14:47  
Neuer Benutzer
 
Registriert seit: 16.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Phips_CH befindet sich auf einem aufstrebenden Ast
Standard

Code:
FROM tabelle2 tabelle1
WHERE tabelle2.datum > NOW() AND tabelle1.spalte = '1'; 
END;
Phips_CH ist offline   Mit Zitat antworten
Alt 16.07.2011, 14:58  
Erfahrener Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 681
PHP-Kenntnisse:
Anfänger
Harry_X befindet sich auf einem aufstrebenden Ast
Standard

wo ist die verknüpfung zwischen beiden Tabellen?
Harry_X ist offline   Mit Zitat antworten
Alt 16.07.2011, 15:20  
Neuer Benutzer
 
Registriert seit: 16.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Phips_CH befindet sich auf einem aufstrebenden Ast
Standard

Code:
INSERT IGNORE INTO tabelle3 (IDtabelle1, IDtabelle2)
SELECT NEW.ad_ID,tabelle2.tabelle2_ID       
FROM tabelle2
WHERE tabelle2.datum > NOW() AND tabelle1.spalte = '1';
END;
In der Tabelle3 möchte ich alle ID's aus Tabelle1 haben wenn bei bei tabelle1.spalte eine '1' steht.

ad_ID heisst die Spalte aus Tabelle1 die in der Tabelle3 kopiert wird.
Phips_CH ist offline   Mit Zitat antworten
Alt 16.07.2011, 15:38  
Erfahrener Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 681
PHP-Kenntnisse:
Anfänger
Harry_X befindet sich auf einem aufstrebenden Ast
Standard

lass doch mal den INSERT-Kram weg. Nur der SELECT ist von Interesse. Und in deinem SELECT ist keine Verknüpfung der Tabellen sichtbar.
zB
PHP-Code:
SELECT tab1.idtab2.otherid FROM tab1tab2 WHERE tab1.id =tab2.id AND tab1.sp=AND tab2.dat NOW() 
größer NOW()? sind das Zukunftsdaten?
Harry_X ist offline   Mit Zitat antworten
Alt 16.07.2011, 16:12  
Neuer Benutzer
 
Registriert seit: 16.07.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Phips_CH befindet sich auf einem aufstrebenden Ast
Standard

Ich poste dir mal den Code des Triggers der mir alle Datenbankeinträge in die Hilfstabelle kopiert.

pobi_adressen => tabelle1
pobi_termine => tabelle2
pobi_adrterm => tabelle3

Code:
INSERT IGNORE INTO pobi_adrterm (adte_IDadr, adte_IDter)
SELECT NEW.ad_ID,pobi_termine.ter_ID       
FROM pobi_termine
WHERE pobi_termine.ter_wann > NOW();
END;

Das funktioniert ja auch.
Nun möchte ich nur die Datensätze, die bei pobi_adressen.spalte_xy = '1' stehen haben in pobi_adrterm einfügen.

Ich bin mir nicht ganz sicher ob es sich um eine Richtige Verknüpfung handelt.

Ja ich möchte die ID von pobi_adrrssen nur den denen ID'd der Tabelle pobi_termine zuordnen die noch bevorstehen, da ich die Verknüpfung für die Anwesenheitskontrolle eines Vereins brauche. macht es keinen Sinn Namen einem Termin zuzuordnen der schon vorbei ist.
Phips_CH ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Trigger zum löschen von ips rbzbaby Datenbanken 16 26.04.2011 11:00
DOM neu laden !? jQuery mit neuen "Elementen" dreamcatcher JavaScript, Ajax und mehr 6 03.03.2011 18:44
MYSQL - Formulardaten in Datenbank eintragen lassen! Aimless Datenbanken 7 03.03.2011 13:37
neuen comment eintrag mit image anzeigen hups PHP Einsteiger 3 25.01.2011 18:49
[Erledigt] mysql - Trigger startet verzögert durch View slanty Datenbanken 14 25.02.2010 21:06
Trigger - Funktion per PHP hoinz_p PHP Tipps 2010 11 22.01.2010 16:27
[Erledigt] MySQL Trigger gen Datenbanken 5 30.12.2009 13:42
Delete trigger mb72 Datenbanken 1 19.10.2009 19:16
[Erledigt] Trigger löschen Wortak Datenbanken 2 22.04.2009 20:58
[Erledigt] Probleme mit Unlauten etc. (Kollation) nach Umzug auf neuen Webspace... Rock-Opa Datenbanken 5 06.10.2008 19:17
Forum selber machen - Problem mit neuen Beiträgen PHP Tipps 2006 2 01.04.2006 20:52
Datein in die DB eintragen PHP Tipps 2005 2 01.06.2005 19:54
[Erledigt] fieldset in neuen fenster HTML, Usability und Barrierefreiheit 1 25.05.2005 15:39
Trigger (Postgres) DerDesian Datenbanken 6 12.04.2005 16:16
Problem mit Bildern, die in eine DB eintragen werden sollen! PHP Tipps 2005 6 05.03.2005 17:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql datenbank spiegeln trigger, sql trigger neuen datensatz kopieren, postgres insert ignore

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum