AtomicDragon - 24
Anfänger
(offline)
Dabei seit 04.2012
14
Beiträge
|
Geschrieben am: 27.02.2013 um 22:39 Uhr
|
|
Hey ho...
Hab mich jetzt schon n bisschen durch google gesucht aber so richtig auf ein Ergebnis bin ich nicht gekommen...
Und zwar suche ich eine Art Automatik, die sobald in eine bestimmte Tabelle einer Datenbank was eingetragen wird, diese Daten nimmt und gleichzeitig in eine andere Tabelle einträgt...
Sprich ich Trage auf einer Webseite einen Artikel A ein Preis 5€ und nummer 10
Dann wird dieser Artikel in die Tabelle so eingetragen... nun gibt es aber eine 2te Tabelle in einer anderen Datenbank, die die gleichen Werte eingetragen bekommen soll...
Wie ist das am einfachsten umzusetzen? gibt es da direkt für SQL nen Befehl oder so?
Mfg Blue_sun
|
|
bredator - 41
Champion
(offline)
Dabei seit 03.2008
5319
Beiträge
|
Geschrieben am: 27.02.2013 um 22:54 Uhr
|
|
Nö, woher soll dein DBMS wissen, welche Datenbank du noch connecten willst? Dafür ist Programmierlogik gedacht.
Lache nicht über jemanden, der einen Schritt zurück macht. Er könnte Anlauf nehmen.
|
|
AtomicDragon - 24
Anfänger
(offline)
Dabei seit 04.2012
14
Beiträge
|
Geschrieben am: 27.02.2013 um 23:02 Uhr
|
|
Gut d.h. ich muss also ganz vorne reingreifen und php auf beide datenbanken zugreifen lassen... und wenn es heißt.-.. trage die Daten in die Tabelle ein... noch ne zeile dazu, "Und trage hier auch ein"...
oder gibts da noch ne methode?
|
|
scw - 41
Experte
(offline)
Dabei seit 09.2002
1836
Beiträge
|
Geschrieben am: 27.02.2013 um 23:13 Uhr
Zuletzt editiert am: 27.02.2013 um 23:21 Uhr
|
|
Mit einer Oracle sollte das gehen, was du willst 
Wenn du zwei Inserts machst, was machst du, wenn einer funktioniert und der andere aus irgendeinem Grund schief geht? Dann hast du inkonsistente Daten. Mit MySQL geht sowas glaub auch, aber nicht mit der kostenlosen Variante. Schau dir doch auch mal Postgresql an.
EDIT: MySQL Replication müsste das sein, was du suchst...
|
|
scw - 41
Experte
(offline)
Dabei seit 09.2002
1836
Beiträge
|
Geschrieben am: 27.02.2013 um 23:28 Uhr
|
|
Eventuell hab ich dich falsch verstanden Beim überfliegen dachte ich, du willst zwei Datenbankserver verbinden.
Schau mal nach "Trigger". Damit könnte es auch gehen, wenn du beim Update oder Insert in eine Tabelle die Werte in eine andere Tabelle eintragen möchtest.
Wobei ich sowas in der Programmlogik machen würde. Dabei sollte alles in einer einzigen Transaktion ausgeführt werden (bei MySQL ist InnoDB notwendig und nicht MyISAM), damit es keinen inkonsistenten Zustand gibt und bei einem Fehler ein rollback ausgeführt wird.
|
|
AtomicDragon - 24
Anfänger
(offline)
Dabei seit 04.2012
14
Beiträge
|
Geschrieben am: 28.02.2013 um 00:21 Uhr
|
|
Ne nicht verbinden..
Will eigentlich nur das 2 Tabellen die in 2 verschieden Datenbanken sind... sich gegenseitig ergänzen... das was in der einen steht soll in die andere und anders rum...
Allerdings soweit wie möglich von alleine ohne mein zutun... sprich bei eintrag in tabelle a checken ob in B vorhanden, wenn nicht dann dort auch eintragen...
|
|
scw - 41
Experte
(offline)
Dabei seit 09.2002
1836
Beiträge
|
Geschrieben am: 28.02.2013 um 08:10 Uhr
|
|
Zitat von AtomicDragon: Ne nicht verbinden..
Will eigentlich nur das 2 Tabellen die in 2 verschieden Datenbanken sind... sich gegenseitig ergänzen... das was in der einen steht soll in die andere und anders rum...
Allerdings soweit wie möglich von alleine ohne mein zutun... sprich bei eintrag in tabelle a checken ob in B vorhanden, wenn nicht dann dort auch eintragen...
Wie schon geschrieben, mit einem Trigger. Allerdings würde ich das nicht empfehlen, da du ansonsten Wert 1 über ein SQL-Statment einfügst und den Wert in die andere Tabelle mittels eines Triggers. Sowas führt zu einem System, das nicht wirklich wartbar ist.
Die schönere Lösung ist eben mit einer Transaktion und zwei SQL-Inserts.
|
|
Mr-Trust - 29
Halbprofi
(offline)
Dabei seit 12.2011
182
Beiträge
|
Geschrieben am: 28.02.2013 um 18:51 Uhr
|
|
Entweder du öffnest in deinem Script, mit dem du alles einträgst eine neue Database Verbindung und fügst die Daten alle in die 2. Tabelle noch ein, oder du kannst dies auch per Cronjob lösen.
MfG
Expect us!
|
|
guitarboy89 - 23
Anfänger
(offline)
Dabei seit 02.2013
1
Beitrag
|
Geschrieben am: 28.02.2013 um 19:15 Uhr
|
|
Hört sich für mich so an, als ob "Relationale Datenbanken" da genau das richtige wären.
Klick mich!
|
|