php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.09.2009, 13:18  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard MySQL UPDATE: Feld überall / in allen Tabellen updaten

Hallo,

ich bin momentan auf der Suche nach einer simplen Lösung für mein UPDATE-Problem.

Ich habe in einer Datenbank sehr viele Tabellen und in jeder ist ein Feld (überall identischer Name).

Über eine Funktion möchte ich erreichen, dass wenn die Funktion ausgeführt wird, ein Wert in alle Tabellen geschrieben wird, welche das Feld enthalten.

Über Suchmaschine folgende Lösung gefunden:

PHP-Code:
$sql "UPDATE tbl_1, tbl_2 SET tbl_1.feldname='".$neuerWert."', tbl_2.feldname='".$neuerWert."' " 
Meine beiden Fragen:

1. Kann ich das nicht auf alle Tabellen anwenden mit einem einfacheren Befehl wie: UPDATE all SET feldname_welcher_überall_gleich_ist = neuerwert

2. Wenn es so etwas wie UPDATE all gibt, könnte ich eine spezielle Tabelle von dem UPDATE all Befehl ausschließen?


Danke für eure Mühen
Grüße
Lightware ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.09.2009, 13:23  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Warum hältst Du redundante Daten vor? hört sich nach einem Normalisierungsproblem an.
HPR1974 ist offline   Mit Zitat antworten
Alt 23.09.2009, 13:33  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Es geht um eine Team-funktion, User können einem Team beitreten, austreten, erstellen oder später einem anderen oder mehreren Teams beitreten.
Meldet sich der User in einem Team an, sollen alle Tabellen in welcher dieser User was erstellt hat, geupdatet werden, und zwar nur dort wo seine User ID auftaucht soll auch der neue Wert eingetragen werden.

Grüße
Lightware ist offline   Mit Zitat antworten
Alt 23.09.2009, 13:53  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

na aber trotzdem ist es doch nach Deinem Beispiel immer der geliche Wert in allen verwendeten Tabellen.
Also halte diesen Wert zum User zentral vor.
HPR1974 ist offline   Mit Zitat antworten
Alt 23.09.2009, 14:34  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Wie meinst du das im detail?

Ich hab schon eine Zordnungstabelle für User <=> Team, aber nach meinem Gedankengang welchen ich mir für die Funktionen ausgedacht habe wäre es auf eine andere Weise komplizierter.
Außer ich hab noch nicht so viel MySQL Gespür das ich andere Möglichkeiten erkennen kann.

Momentan würde ich an jedem Datensatz den ein User erstellt, seine ID mit in den Datensatz nehmen und seine Team ID welche später, durch ändern des Teamstatus, also verlassen oder irgendwo anders Beitreten, das UPDATE sämtlicher Datensätze zur folge hätte.

Andere Lösungsvorschläge?
Lightware ist offline   Mit Zitat antworten
Alt 23.09.2009, 14:50  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Da die Team ID am user hängt annst Du sie auch dort belassen und brauchst sie nicht in allen Tabellen vorhalten
HPR1974 ist offline   Mit Zitat antworten
Alt 23.09.2009, 15:00  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Ouh, genial.

Verstehe, das heißt, ich komme über den User an die Team ID, ahhh manchmal sieht man den Baum vor lauter Wäldern nicht

Danke!

Es ist halt so gedacht, dass zwischen zwei Views hin und hergeschalten werden kann UserAnsicht und TeamAnsicht.

Wenn (standard) UserAnsicht, werden alle Datensätze aus einer Tabelle des users angezeigt.
Wenn TeamAnsicht sollen alle Datensätze des Users + die der sich im Team befindenen Mitglieder zeigen.
An Funktionen wird immer eine user_id und eine optionale Team_id übergeben.

An dieser Problemlösung bin ich gerade dran...sehr kompliziert und ich komm nur langsam voran.

Geändert von Lightware (23.09.2009 um 15:08 Uhr).
Lightware ist offline   Mit Zitat antworten
Alt 23.09.2009, 17:52  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Wenn (standard) UserAnsicht, werden alle Datensätze aus einer Tabelle des users angezeigt.
Jeder User hat eine eigene Tabelle? MÖÖÖP. Da haben wir doch schon das Problem.
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline   Mit Zitat antworten
Alt 23.09.2009, 20:55  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Nein.

Ich habe eine Tabelle, nenne wir sie Obst.

Ein User kann einen Eintrag machen wie Banane.

Dann steht ein Eintrag Banane drin mit seiner User id.

Ein anderer User schreibt Apfel in die Tabelle.

Wenn jetzt der erste User den Inhalt auslesen möchte was er schon alles eingetragen hat, dann soll er nur seine Ergebnisse (oder eben die seines Teams) sehen.

Nach diesem Beispiel sieht er nur Banane, wären aber beide User im gleichen Team, würden beide Banane und Apfel als Datensatz sehen.

Mega problem

Grüße
Schönen Abend noch
Lightware ist offline   Mit Zitat antworten
Alt 23.09.2009, 21:37  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

wo isn das ein mega problem?
HPR1974 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Mehrere MySQL Tabellen mit PHP abfragen DonMuchacho Datenbanken 7 27.07.2009 19:47
[Erledigt] Mysql update setzt leeren Wert Abakay PHP Tipps 2009 19 08.05.2009 15:21
MYSQL Tabelle -> backup und damit andere DB updaten gamerphil PHP Tipps 2009 2 21.03.2009 20:09
[Erledigt] PHP + MySql Tabellen verknüpfen Leinberger PHP Tipps 2009 5 01.03.2009 13:08
[Erledigt] Problem beim Mysql UPDATE mastertnt PHP Tipps 2009 4 14.02.2009 17:26
[Erledigt] mysql update mit/ohne schleife Wolla PHP Tipps 2008 6 05.12.2008 23:48
PHP Array in MYSQL Tabellen schreiben Matt Datenbanken 1 26.02.2008 19:43
generelle Fragen zu MySql bezüglich der Tabellen woods Datenbanken 7 16.10.2006 13:38
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] Suche über 2 Tabellen in MySQL PHP Tipps 2004-2 4 15.12.2004 16:05
über PHP Daten in MySQL Tabellen updaten -- Problem PHP Tipps 2004 4 27.09.2004 21:34
Multiple Select in einen Feld in MYSQL einfügen Datenbanken 4 22.09.2004 18:15
[Erledigt] keine tabellen in mysql Datenbanken 0 31.08.2004 11:22
Script um MySQL Tabellen untereinander updaten zu können PHP Tipps 2004 2 02.06.2004 16:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/datenbanken/59268-mysql-update-feld-ueberall-allen-tabellen-updaten.html, mysql update feld, mysql feld update, mysql feld updaten, mysql update alle felder, mysql ein feld updaten, mysql update alle, mysql feld aktualisieren, php mysql update feld, update feld mysql, mysql felder update, php mysql update alle, mysql update mit werten aus anderer tabelle, mysql update all, php mysql records ändern, mysql alle felder updaten, mysql update in allen tabellen, mysql alle einträge updaten, mysql in einer tabelle ein feld updaten, mysql update für alle

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum