baz.ch Newsticker
09:20
Ausland
Fünf Euro: Venedig-Besucher müssen erstmals Eintritt bezahlen
09:04
Wirtschaft
Mehr Geld, weniger Kaufkraft: Teuerung bremst den Lohnanstieg auch 2023 aus
08:31
Sonstiges
Pariser Wahrzeichen: Mühlenräder des Moulin Rouge eingestürzt
08:27
Region
Verschmutztes Trinkwasser: Liestal hätte besser den Sirenenalarm ausgelöst
08:27
Sonstiges
Kolumne «Fast verliebt»: Wenn der Neid Beziehungen toxisch macht
08:09
Sonstiges
Hier trainieren Sie Ihr Hirn: Die Maurerin und ihre Kiste
08:08
Sport
NHL: Kevin Fiala trifft beim Sieg gegen Edmonton
08:00
Kultur
Fragen an Hans Ulrich Obrist: Gibt es künstlerischen Fortschritt?
07:48
Wirtschaft
Streit um Glasfasernetz: Kartellwächter verdonnert Swisscom zu 18-Millionen-Busse
07:43
Sport
Odermatt über Hirschers Comeback: «Eigentlich kann ich in diesem Duell nur verlieren»
07:29
Wirtschaft
Umsatzrückgang Anfangs 2024: Ems-Chemie büsst im ersten Quartal ein
07:22
Wirtschaft
Weniger Verkäufe im ersten Quartal: Nestlé startet verhalten ins Jahr 2024
07:20
Wirtschaft
Erstes Quartal 2024: SNB erzielt Rekord-Gewinn von 58,8 Milliarden Franken
06:57
Region
Hoffnung bei Schlafstörungen: «Wir können fast allen Patienten helfen»
06:56
Sport
Abseitsfall: Ein unglaubliches Wiedersehen zweier RTV-Ikonen
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 » ©