SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.10.2008, 19:16:18
cooperraser cooperraser ist offline
Anfänger
 
Registriert seit: Sep 2008
Alter: 51
Beiträge: 11
mysql update und neue daten in eine andere Tabelle eintragen

hallo,
habe schon viel im netz geschaut und nichts gefunden, sowie die selbe frage schon mal in einem anderen Forum gestellt, leider bekam ich da nicht die entsprechende antwort um mein problem zu lösen :(

also habe hier zwei tabellen, daten werden in tabelle1 per csv-import eingepflegt
aus tabelle1 sollen immer die werte einer spalte ausgelesen werden und in der zweiten die entsprechende spalte upgedatet werden, das funzt soweit,

allerding möchte ich neue datensätze welche in tabelle2 noch nicht vorhanden sind in eine extra tabelle einfügen, um sie dann manuell einzuplegen bzw. selbst einen überblick darüber zu erhalten, was neu ist

also vom prinzip habe ich mir das so gedacht

wenn tabelle1.spalte4 = tabelle2.spalte3 //das sind die daten nach den sich gerichtet wird
{
dann ("UPDATE tabelle2 SET tabelle2.spalte2 = tabelle1.spalte3 WHERE tabelle1.spalte4 = tabelle2.spalte3");
}
sonst ("INSERT INTO tabelle3 (spalte1, spalte2, spalte3,spalte4) value('".$data[0]."',
'".$data[1]."', '".$data[2]."', '".$data[3]."')";
}

ich komm da jetzt leider nicht weiter, ich weiß nicht was ich statt "wenn", "dann" und "sonst" setzen muß
bin noch ein newbie

oder ich bin komplett falsch
bin für jede hilfe dankbar, mfg



die antwort darauf:

ich verstehe offen gestanden die SONST-Logik nicht.
Erwartet hätte ich dort, dass Du auch die neuen Datensätze für Tabelle3 aus der Tabelle1 holst.

Alle Sätze der Import-Tabelle1 sind

entweder vorhanden in Tabelle2->dann dort updaten
oder NICHT vorhanden in Tabelle2 ->dann in Tabelle3 INSERTen

-> Also zwei Statements mit jeweils Update... WHERE/Insert ...Where ... -->also ResultSets
aber nix mit Einzelsatz-INSERT ..values ...

Zusatzfrage:
.... und wenn die DS in Tabelle3 schon vorhanden sind? Oder gibt es da keinen PK?

Grüße


meine Antwort darauf:

zu der \"sonst\" logik, ich hab doch nicht die Ahnung, newbie

allerding das-->
Alle Sätze der Import-Tabelle1 sind
entweder vorhanden in Tabelle2->dann dort updaten
oder NICHT vorhanden in Tabelle2 ->dann in Tabelle3 INSERTen
--habe ich verstanden, es hapert mir jetzt an der umsetzung bzw. mir fehlt die befehlsfolge oder so,
muss ich das mit einer schleife machen ???? ick weiß es nicht

also nochmal nur zur abfrage

Datensatz ist vorhanden:
UPDATE tabelle1, tabelle2 SET tabelle2.spalte2 = tabelle1.spalte3 WHERE tabelle1.spalte4 = tabelle2.spalte3

Datensatz ist nicht vorhanden:
UPDATE tabelle1, tabelle3 SET tabelle3.spalte2 = tabelle1.spalte3 WHERE tabelle1.spalte4 != tabelle2.spalte3

oder so?!:
INSERT INTO tabelle3 SET ... ON DUPLICATE KEY UPDATE tabelle1, tabelle3 SET tabelle3.spalte2 = tabelle1.spalte3 WHERE tabelle1.spalte4 != tabelle2.spalte3;

danke schon mal

das blieb leider unbeantwortet, ich habe leider nicht, wie schon mal geschrieben, die ahnung, mir fehlt einfach nur die befehlsfolge wie schon mal geschrieben,

wäre echt nett wenn mir da jemand das mal stecken könnte, danke

mfg
Mit Zitat antworten
  #2  
Alt 10.10.2008, 19:56:50
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: mysql update und neue daten in eine andere Tabelle eintragen

Zitat:
Zitat von cooperraser Beitrag anzeigen
...

wäre echt nett wenn mir da jemand das mal stecken könnte, danke

mfg
Teile die Bearbeitung in zwei Schritte auf:

1. Schritt - Update der vorhandenen Werte in der Tabelle 2 mit den Werten aus der Tabelle 1

und anschließend

2. Schritt - filtere alle Datensätze aus Tabelle 1 die noch nicht in Tabelle 2 sind und fülle sie in Tabelle 3

Verabschiede Dich gedanklich (in diesem speziellen Fall) von Deiner wenn/dann/sonst Logik. Der Weg geht auch, aber nicht so elegant und einfach wie der oben beschriebene.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 10.10.2008, 20:57:55
cooperraser cooperraser ist offline
Anfänger
 
Registriert seit: Sep 2008
Alter: 51
Beiträge: 11
AW: mysql update und neue daten in eine andere Tabelle eintragen

danke erstmal für die schnelle antwort, alldering verstehe ich nicht was jetzt mit "2. Schritt - filtere alle Datensätze aus Tabelle 1 die noch nicht in Tabelle 2 sind und fülle sie in Tabelle 3" gemeint ist bzw. wie ich das umsetzen soll

ich würde es dann mit INSERT ... SELECT versuchen, also

so ungefähr

INSERT INTO tabelle3 (wert1, wert2, wert3)
SELECT wert2, wert3, wert4
FROM tabelle1 WHERE tabelle1.spalte4 = tabelle2.spalte3

???
Mit Zitat antworten
  #4  
Alt 11.10.2008, 09:12:53
cooperraser cooperraser ist offline
Anfänger
 
Registriert seit: Sep 2008
Alter: 51
Beiträge: 11
AW: mysql update und neue daten in eine andere Tabelle eintragen

habs jetzt mal so probiert aber funzt nicht

INSERT INTO tabelle3 (`spalte2`)
SELECT spalte2
FROM tabelle1 INNER JOIN tabelle2
ON `tabelle1`.`spalte2` <> `tabelle2`.`spalte4`

Eingefügte Zeilen: 25791175 (die Abfrage dauerte 57.3548 sek.)

INSERT INTO tabelle3 (`spalte2`)
SELECT spalte2
FROM tabelle1 INNER JOIN tabelle2
WHERE `tabelle1`.`spalte2` <> `tabelle2`.`spalte4`

INSERT INTO tabelle3 (`spalte2`)
SELECT spalte2
FROM tabelle1, tabelle2
WHERE `tabelle1`.`spalte2` <> `tabelle2`.`spalte4`

is genau das selbe,

ich komm nicht drauf woran es liegt, werd erstmal eine kleine runde schlafen und den kopf entspannen, mfg
Mit Zitat antworten
  #5  
Alt 11.10.2008, 11:20:30
Curtains Curtains ist offline
Anfänger
 
Registriert seit: Sep 2008
Alter: 54
Beiträge: 37
AW: mysql update und neue daten in eine andere Tabelle eintragen

Hallo cooperraser,

vielleicht klappt es damit:

PHP-Code:
INSERT INTO tabelle3
    
('spalte2')
SELECT
    t1
.spalte2
FROM
    tabelle1 t1
LEFT JOIN
    tabelle2 t2
ON
    t2
.spalte4 t1.spalte2
WHERE
    t2
.spalte4 IS NULL
Mit Zitat antworten
  #6  
Alt 12.10.2008, 03:46:35
cooperraser cooperraser ist offline
Anfänger
 
Registriert seit: Sep 2008
Alter: 51
Beiträge: 11
AW: mysql update und neue daten in eine andere Tabelle eintragen

danke, aber funzt leider auch nicht, bin ratlos
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus 2 Tabellen entnehmen wenn keine ID vorhanden nur Tabelle 1 ausgeben Multipar MySQLi/PDO/(MySQL) 4 21.04.2008 13:20:18
Tabelle nach Daten in anderer Tabelle sortieren _Stefan MySQLi/PDO/(MySQL) 2 21.01.2008 20:06:04
mysql update bei link-klick TomH27 PHP Grundlagen 1 07.03.2007 20:31:32
Daten in Ordner in eine SQL Tabelle kapa30 PHP für Fortgeschrittene und Experten 3 28.07.2006 21:32:05
mySQL Daten in Tabelle anzeigen xStream PHP für Fortgeschrittene und Experten 1 01.04.2002 16:45:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:39:20 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt