Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

mysql update und neue daten in eine andere Tabelle eintragen

Frage Entwicklung Datenbanken

Mitglied: cooperraser

cooperraser (Level 1) - Jetzt verbinden

08.10.2008, aktualisiert 09.10.2008, 5750 Aufrufe, 2 Kommentare

hallo,
habe schon viel im netz geschaut und nichts gefunden,

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 geht 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, Mit freundlichen Grüßen
Mitglied: Biber
08.10.2008 um 23:42 Uhr
Moin cooperraser,

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
Biber
Bitte warten ..
Mitglied: cooperraser
09.10.2008 um 10:48 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Server
gelöst SQL-Tabelle portieren und dabei Daten konvertieren (1)

Frage von menace zum Thema Server ...

VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...