php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.02.2007, 19:23  
phyton
Gast
 
Beiträge: n/a
Standard SQL-Problem: Wert in einer Spalte ändern, ohne löschen

Hallo,
ich benötige dringend Hilfe:

Ich will ein einem bereits existierenden Datensatz den Wert einer Spalte ändern, ohne den Inhalt zu löschen, also etwas hinzufügen.
Mit UPDATE klappt das nicht, da der Inhalt immer gelöscht wird.

Code:
$sql = "UPDATE user SET besitz=".$besitz["besitz"]." WHERE name='".$name."'";


pHyToN
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.02.2007, 20:13  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo python,

sollte deine Version des MySQL-Servers Subselects unterstützen kannst du soetwas versuchen:

UPDATE user SET besitz = 'CONCAT(".$besitz['besitz'].",(SELECT besitz FROM user WHERE name = '".$name."'))' WHERE name='".$name."';"
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 04.02.2007, 20:56  
phyton
Gast
 
Beiträge: n/a
Standard

danke für die hilfe,
aber das funktioniert nicht bei mir...


Ich hoffe das es dennoch Möglichkeiten gibt :wink:


pHyToN
  Mit Zitat antworten
Alt 04.02.2007, 22:07  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo python,

> aber das funktioniert nicht bei mir...
Was heißt das? Hast du meinen Code 1:1 abgeschrieben und es klappt nicht? Oder hast du es als Anregung verstanden weiterzumachen und mal im Manual zu lesen?

Sollest du es einfach verwendet haben, dann ist das echt zu wenig! Sollte das nicht gehen, kannst du es ja mit einem SELECT und einem Update versuchen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 05.02.2007, 15:26  
Erfahrener Benutzer
 
Registriert seit: 09.03.2005
Beiträge: 219
webbi
Standard

Warum so ein umständlicher Weg über ein Subselect?

Code:
$sql = "UPDATE user SET besitz=CONCAT(besitz,".$besitz["besitz"].") WHERE name='".$name."'";
Nun wird die Variable an den bestehenden Inhalt angehängt.

Aber ich kann mir eigentlich nicht vorstellen wann so eine Aktion bei einer guten DB Struktur notwendig wäre. Ist nur eine Vermutung, da ich dein Design nicht kenne, aber vielleicht solltest du die Spalte Besitz auslagern wenn sie mehrere Werte enthält.
webbi ist offline   Mit Zitat antworten
Alt 05.02.2007, 17:42  
phyton
Gast
 
Beiträge: n/a
Standard

hallo
wie gesagt, das funktioniert nicht...

Wie wärs denn da mit:

Code:
$sql = "SELECT besitz FROM user WHERE name='".$name."'";
$res = mysql_query($sql);
while ($inhalt = mysql_fetch_assoc($res))
{
$sql = "";

$sql = "UPDATE user SET besitz=".$inhalt["besitz"].$besitz["besitz"]."; WHERE name='".$name."'";
mysql_query($ausf5);
}
Als erstes wird halt der Besitz vom Benutzer abgerufen.
Dann wird der Wert in "$inhalt" gespeichert.
Als zweitens wird der Besitz neu geschrieben
Ich bin mir nur mit ...besitz=".$inhalt["besitz"].$besitz["besitz"]."... nicht sicher. Dann wird die Aufgabe ausgeführt.

Ist das so OK?


pHyToN
  Mit Zitat antworten
Alt 05.02.2007, 19:22  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

bei webbi's weg fehlen auch die Hochkommata (Concat verknüpft Strings). Sicher dass du das schon richtig ausprobiert hast? Kann mir nicht vorstellen, dass das nicht funzt. Was für ne Fehlermeldung gibts denn hierbei:
PHP-Code:
$sql "UPDATE user SET besitz = CONCAT(besitz , '" $besitz["besitz"] . "') WHERE name='" $name "'"
nikosch ist offline   Mit Zitat antworten
Alt 05.02.2007, 20:09  
phyton
Gast
 
Beiträge: n/a
Standard JOAA!

danke, danke, danke!!!

es Klappt! Ich weiß dr. e. wollte mir das auch die ganze Zeit vermitteln aber ich habe das nicht so wirklich verstanden.


DanKE euch allen!!




PHYTON
  Mit Zitat antworten
Alt 05.02.2007, 20:15  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo phython,

ich kann nur den Kopf schütteln und dir einen guten Rat mit auf den Weg geben: Probier auch mal - wie nikosch77 bereits sagte - was aus und versuche dem Problem auf die Spur zu kommen, sonst wird das nix. Und wenn du einen Lösungsansatz nicht verstehst, stell Fragen dazu und resigniere nicht mit einem "ex klappt immer noch nicht", das bringt sich nicht weiter!


Nix für ungut & willkommen im Forum (falls das noch keine gesagt hat)!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. 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] Prüfen, ob ein Wert in der Tabelle ist Inchie PHP Tipps 2008 2 02.07.2008 21:08
[Erledigt] RGB Wert zusammensetzen aus Tabellendaten Thorsten PHP Tipps 2008 2 27.05.2008 11:57
Vergleich von einem Wert, mit Werten aus einer Tabelle PHP Tipps 2005 14 01.11.2005 03:04
minus wert, plus wert in variable nutzen PHP Tipps 2005-2 5 22.10.2005 19:15
Anzahl der Reihen, hoechster Wert einer Spalte mit where Datenbanken 1 20.10.2005 17:46
Problem beim Zusammenfügen von Arrays mit array_merge PHP Tipps 2005-2 2 08.10.2005 16:44
[Erledigt] Problem mit WHERE-Abfrage Datenbanken 8 13.09.2005 11:32
Problem mit anzeige aus DB, erst nach refresh aktueller wert PHP Tipps 2005 7 27.04.2005 19:42
MySQL Tabelle nach wert in spalte durchsuchen PHP Tipps 2005 5 31.01.2005 20:37
While Problem! PHP Tipps 2004 1 24.10.2004 18:28
Problem mit SELECT-Syntax... Datenbanken 5 14.10.2004 16:26
[Erledigt] Problem: per klick auf Button Wert erhöhen/verringern HTML, Usability und Barrierefreiheit 7 07.10.2004 08:31
Problem bei Datenbankeintragung mit Zeit Skazi PHP Tipps 2004 4 20.09.2004 17:22
Spalte anlegen und in diese Daten einfügen Anuschka PHP Tipps 2004 11 09.08.2004 00:43
Problem mit Datum ?! Datenbanken 21 04.08.2004 16:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql select wert ändern, sql wert in spalte ändern, sql inhalt einer spalte ändern, sql spaltenwert ändern, sql wert in tabelle ändern, sql spalteninhalt ändern, sql wert löschen, sql wert einer spalte ändern, sql spalte inhalt ändern, http://www.php.de/datenbanken/43383-sql-problem-wert-einer-spalte-aendern-ohne-loeschen.html, sql wert ändern, sql spaltennamen ändern, sql select wert setzen, sql spalte wert ändern, sql spalte ändern, sql werte einer spalte löschen, sql werte in spalte verändern, sql alle werte einer spalte löschen, sql spalte löschen, sql werte ändern

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:50 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.