baz.ch Newsticker
19:30
Schweiz
Gerichtsurteil löst Probleme nicht: Bundesrat will im Zollstreit mit Trump weiterverhandeln
19:10
Sonstiges
Premier League: Aston Villa und Chelsea lassen gegen Aufsteiger Punkte liegen
18:20
Schweiz
Neue Studie: Warum depressive Menschen besonders häufig sexuelle Fantasien haben
18:16
Ausland
Globaler Drogenhandel: Mit Drogen-U-Booten und Fake-Bananen: So überschwemmen die Kartelle Europa mit Kokain
18:00
Sonstiges
Eklat im Skicross: Hronek über Regez Entschuldigung: «Davon kann ich mir nichts kaufen»
16:54
Wirtschaft
Epstein-Files: «Davos kann die UNO ersetzen»: Wie eng WEF-Chef Brende mit Epstein verbandelt war
16:25
Region
Nachwuchs an der Basler Fasnacht: Die Guggemusik Jung Garde ist so voll, dass sie eine Warteliste eingeführt hat
16:24
Sonstiges
Ex-Verteidiger des FC Basel: Carlos Zambrano wegen eines mutmasslichen sexuellen Übergriffs angezeigt
16:18
Kultur
Jule X im Interview: «Auf dem Land sind nicht alle rechte Töfflibuebe»
16:18
Ausland
Nach dem Zoll-Urteil: «Es ist mir schnurzegal»: Trump gibt sich vor der grossen Rede trotzig
16:15
Schweiz
Gerichtsurteil zu US-Zöllen: «Trump kann der Schweiz nach wie vor sehr, sehr wehtun, wenn er das möchte»
16:00
Sonstiges
Wichtiges Modell: Mazda baut sein Elektroangebot bedeutend aus
14:44
Sport
Bei italienischem Doppelsieg: Der älteste Medaillengewinner im Skicross: Alex Fiva holt mit 40 Jahren Bronze
14:25
Sonstiges
Ein Leben als Hirtin: «Ich habe aufgehört, jemanden zu suchen, der mich mit meinem Nomadenleben und all meinen Hunden und Schafen nimmt»
14:23
Schweiz
Interview über Mental Health: «Es reicht nicht, eine Diagnose vor sich herzutragen und alles damit zu entschuldigen»
passwort vergessen - registrieren

Festzeit.ch Forum » Computer » MySQL Tabellen vergleichen und Updaten

Autor Beitrag
poetflashimpactMi 2.5.12, 10:11
Hallo Festzeit-Forum,
Ich habe folgendes Problem:

Tabelle 1:
ID ;Name ;Preis ;Lagerbestand
1 ;PC01 ;999 ;4
2 ;PC02 ;899 ;16

Tabelle 2:
ID ;Preis ;Lagerbestand
1 ;959 ;3
2 ;869 ;14

Nun möchte ich per PHP / MySQL die Spalte ID vergleichen und bei übereinstimmung in Tabelle 1 die werte von Tabelel 2 Aktualiseren.

Kann mir jemand weiterhelfen?
Vielen dank für die Bemühungen, Poetflashimpact
StefanRaabMi 2.5.12, 12:23
was wetsch du genau?
eifach immer s gliche in de tabelle1 ha wie in tabelle2?

also bimne update z.B. d ID1 in de tabelle2 de lagerbestand uf 4 update? bzw. de pris?

poetflashimpactMi 2.5.12, 12:32
danke für dini Antwort

Tabelle 1 isch die wo vom System verwendet wird.

1. Wenn tabelle1.ID = tabelle2.ID ;
2. dann tabelle2.preis > tabelle1.preis
tabelle2.lagerbestand > tabelle2.lagerbestand

Beispiel
Ausgangslag:

Tabelle 1
ID ;Name ;Preis ;Lagerbestand
1 ;PC01 ;999 ;4
2 ;PC02 ;899 ;16

Tabelle 2
ID ;Preis ;Lagerbestand
1 ;959 ;3
2 ;869 ;14

Update durchgeführt:
Tabelle 1
ID ;Name ;Preis ;Lagerbestand
1 ;PC01 ;959 ;3
2 ;PC02 ;869 ;14

lg poetflashimpact
StefanRaabMi 2.5.12, 15:49
UPDATE tabelle1 Set tabelle1.preis = tabelle2.preis, tabelle1.lagerbestand = tabelle2.lagerbestand WHERE tabelle1.id = tabelle2.id

bi nid 100% sicher obs so got aber i meinti s müest go, bi "mega tabällene" vilicht eifach nit so performant, aber sowas füersch in de regel jo au nid bi jedem Siteufruef uf...
bDaveMi 2.5.12, 16:52
muesch luege dass dini tabellene uff InnoDB laufe. Das bewirkt das dini mysqlOperatione uff em redundantere System laufe (so hesch eh keini performance problem). über phpmyadmin kasch du d requestzit aluege um z luege wie lang dini operatione gönd. Ev. machsch no e biz Laufziitoptimierig ^^
StefanRaabMi 2.5.12, 18:22
ev. no im where ine teste öbs nid scho korrekt isch, spart es paar schrib OPs, aber ebe wenns nid bi jedem Ufruef mues gmacht wärde wird das kei Problem geh ^^
IchWerdeEsSchaffenMi 2.5.12, 19:28
INSERT INTO ta1AS Y
(spalte1, spalte2, spalte3)
FROM ta2 AS X
WHERE X.ID =Y.ID
VALUES(spaltevontabelle2, weiteregewünschte spalte);

Also ich benutz PostGre SQL aber sött go glaub ich....
IchWerdeEsSchaffenMi 2.5.12, 19:32
Villicht muesch where und values tüschle scho lang nix meh mit sql gmacht
StefanRaabMi 2.5.12, 21:32
Zitat: IchWerdeEsSchaffen
INSERT INTO ta1AS Y
(spalte1, spalte2, spalte3)
FROM ta2 AS X
WHERE X.ID =Y.ID
VALUES(spaltevontabelle2, weiteregewünschte spalte);

Also ich benutz PostGre SQL aber sött go glaub ich....
du erstellsch mit INSERT aber e neue itrag in de tabälle... Update wär do scho s korrekte xD
aber i glaub mer chönts no chli verschönere das wo ich gschribe han, ha au scho lang nix me mit my sql gmacht
backinblackMi 2.5.12, 22:15
1 mal bearbeitet, zuletzt Mo 6.8.12, 23:25
poetflashimpactDo 3.5.12, 16:24
Hoi Zämme,

viele dank für eüeri hilf, funktioniert i wand frei mit:

UPDATE tabelle1 Set tabelle1.preis = tabelle2.preis, tabelle1.lagerbestand = tabelle2.lagerbestand WHERE tabelle1.id = tabelle2.id


Als angemeldeter festzeit.ch Member kannst du Themen erstellen und auf Beiträge antworten.
 
Infos/Hilfe » ©