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 ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign 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)
Hilfe Community Kalender Heutige Beiträge Suchen

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

Thema geschlossen
 
Themen-Optionen Ansicht
  #1  
Alt 18.10.2010, 14:46:26
EagleFox EagleFox ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 50
Beiträge: 13
Nach bestimmten Wert in unbekannter Spalte suchen

Hallo zusammen,

nachdem ich schon googelige Augen und dennoch nicht wirklich gefunden habe, was ich suche, frage ich mal hier vorsichtig nach.

Ich möchte in einem Datensatz etwas ändern, in dem in irgendeiner Spalte ein bestimmter String steht.
Also z.B.
Spalten in Tabelle: id, name1, name2, name3, name4, status

Und nun möchte ich sowas wie:
Update Tabelle SET status = neu, nameX = "" WHERE nameX = "Suchstring"

Is mir klar, dass das so nix wird, aber das Prinzip sollte damit verdeutlicht werden, wobei ich nicht weiß ob oder in welcher der Spalten name1-4 der Suchstring als Wert steht. Gibt es da irgendeine knappe Lösung?

Besten Dank im voraus!
  #2  
Alt 18.10.2010, 15:22:57
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Nach bestimmten Wert in unbekannter Spalte suchen

Wenn nicht klar ist, in welcher Spalte der gesuchte Wert steht, ist es natürlich auch schwerig einen passenden UPDATE zu formulieren.

Als einfachste Lösung sehe ich viele kleine UPDATEs, die den UPDATE "probieren". Ob dies eine performante Lösung ist, bleibt offen.

Code:
UPDATE tabelle1
   SET status = neu,
       name1 = NULL
 WHERE name1 LIKE '%suchmich%';

UPDATE tabelle1
   SET status = neu,
       name2 = NULL
 WHERE name2 LIKE '%suchmich%';
 
UPDATE tabelle1
...

Findet der UPDATE etwas passendes, wird die Änderungen durchführt, findet er nichts, passiert nichts.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.

Geändert von thomas_w (18.10.2010 um 15:47:56 Uhr) Grund: Schreibfehler korrigiert
  #3  
Alt 18.10.2010, 15:37:26
EagleFox EagleFox ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 50
Beiträge: 13
AW: Nach bestimmten Wert in unbekannter Spalte suchen

Hmm, genau sowas wollte ich vermeiden. Diese Lösung ist mir vorher schon klar gewesen, aber ich dachte es gibt da vielleicht was cleveres, um viel Schreibarbeit und eventuell Schleifen zu sparen. Schade! Dennoch danke!
  #4  
Alt 18.10.2010, 16:48:14
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Nach bestimmten Wert in unbekannter Spalte suchen

1. Spalten durch zu nummerieren " name1, name2, name3, name4," ist selten eine gute Idee
2. Wenn du nicht weißt wo du die Daten suchen lassen willst, wer soll es denn dann wissen?

Vermutliche Ursache für die Probleme:
Ein grober Verstoß gegen Die 5 Normal Formen
  #5  
Alt 18.10.2010, 19:17:37
EagleFox EagleFox ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 50
Beiträge: 13
AW: Nach bestimmten Wert in unbekannter Spalte suchen

Diesen wenig hilfreichen Kommentar will ich dann doch noch etwas entschärfen:

Die eigentlichen Felder heißen:

caller_1, caller_2, called_1, called_2,

was zur Lösung des Problems jedoch wenig beitragen sollte. Zumindest kannst Du daraus lesen, dass es sich vielleicht um eine sportliche Begegnung handelt. Wenn Du jetzt noch wissen würdest, dass sich die Beteiligten selber eintragen, was auch nicht der Problemlösung dienlich ist, haben sich wohl Deine beiden Punkte erübrigt.

Manchmal hoffte ich, dass in Foren dieser Art etwas professioneller geantwortet werden würde. Nichts für Ungut, dennoch danke für die Mühe!
  #6  
Alt 18.10.2010, 19:29:13
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Nach bestimmten Wert in unbekannter Spalte suchen

Zitat:
Zitat von EagleFox Beitrag anzeigen

Die eigentlichen Felder heißen:

caller_1, caller_2, called_1, called_2,
Was für Datentypen sind denn diese vier Felder? Zeige doch mal

Code:
mysql>SHOW CREATE TABLE xyz;
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
  #7  
Alt 18.10.2010, 19:39:43
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Nach bestimmten Wert in unbekannter Spalte suchen

Macht keinen Sinn auf mir rum zu hacken!
Schließlich bist du es der sich diese witzige Struktur ausgedacht hast.


Zitat:
Wenn Du jetzt noch wissen würdest, dass sich die Beteiligten selber eintragen,
User können bei dir Spalten erzeugen?

Zitat:
was auch nicht der Problemlösung dienlich ist, haben sich wohl Deine beiden Punkte erübrigt.
Zitat:
caller_1, caller_2,
Das schreit nach einer n:m Beziehzung!
Zitat:
called_1, called_2,
Und das auch!

Solltest du diesen Gedanken verfolgen, dann würdest du die DB Normalisieren und die Problem hätten sich fix gegessen!
  #8  
Alt 18.10.2010, 19:43:22
EagleFox EagleFox ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 50
Beiträge: 13
AW: Nach bestimmten Wert in unbekannter Spalte suchen

Die Datentypen sind varchar und fulltext indexiert
  #9  
Alt 18.10.2010, 19:52:10
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Nach bestimmten Wert in unbekannter Spalte suchen

Zitat:
Zitat von EagleFox Beitrag anzeigen
Die Datentypen sind varchar und fulltext indexiert
Okay, auf was ich hinaus will ist folgende normalisierte Tabellenstruktur

Code:
CREATE TABLE tabelle2 (
  id INT NOT NULL,
  status INT NOT NULL,
  art_id INT NOT NULL,   -- Nr für eine Feldbeschreibung (z.B. 1,2 = caller;  3,4 = called )
  wert VARCHAR(100) NOT NULL,  -- Ersatz für caller_1, caller_2, called_1, called_2,
  PRIMARY KEY (id)
)
Jetzt könnte der ursprüngliche UPDATE einfach so aussehen:

Code:
UPDATE tabelle2
   SET status = 0,
         wert = NULL
 WHERE wert LIKE '%suchmich%';
In welcher Tabellenspalte etwas gefunden wird, ist nun egal.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
  #10  
Alt 18.10.2010, 19:53:33
EagleFox EagleFox ist offline
Anfänger
 
Registriert seit: Oct 2009
Alter: 50
Beiträge: 13
AW: Nach bestimmten Wert in unbekannter Spalte suchen

@DokuLeseHemmung Ich hacke nicht auf Dir rum, aber Dein Beitrag fürht niemanden weiter. Oder ich erkenne den höheren Sinn dahinter nicht.

Nicht jede n:m-Beziehung lässt sich normalisieren!
Es gibt 1000 Spieler, 500 gehören zur Mannschaft A, 500 zur Mannschaft B.
Jeder Spieler aus A oder B kann selber eine Begegnung gegen die jeweils andere Mannschaft aussprechen und einen beliebigen Partner eintragen (caller_1, caller_2). Die jeweils andere Mannschaft kann dann eine beliebige Gegenpaarung eintragen (called_1, called_2).

Hintergrund verstanden? Somit habe ich keine Ahnung in welcher Spalte der gesuchte Spieler stehen könnte! Und zu normalisieren gibt es da nichts!
Thema geschlossen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Formularfeld sperren, solang 2. Feld nicht bestimmten Wert hat blackmolle HTML, CSS und JavaScript Help! 1 14.01.2010 17:04:29
Problem - kleinsten Wert ermitteln und in spalte schreiben. starkeeper MySQLi/PDO/(MySQL) 1 07.08.2009 13:26:40
array_count_values nur einen bestimmten wert zählen neuling321 PHP Grundlagen 6 17.10.2008 11:20:16
wie default wert aus anderer spalte importieren? Callisto MySQLi/PDO/(MySQL) 2 19.10.2007 11:39:50
Alle Eintröge wo der höchste Wert einer Spalte ist Dr. Frankenstei MySQLi/PDO/(MySQL) 4 10.04.2005 19:22:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:01:49 Uhr.


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


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