tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1057
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Zero2000 Zero2000 ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    249
    Hallo

    Ich stehe aufm Schlauch wie man so schön sagt.
    Ich würde gern wissen ob ich mit dem Update Befehl auch nur Felder einer Tabelle updaten kann die keinen Wert enthalten.
    PHP-Code:
    Beispiel:
    Tabelletest
    Felder
    test1 und test2

    in test1 befindet sich ein Wert 
    (z.Beine 0)
    in test2 befindet sich kein Wert

    mysql_db_query
    ("$database""UPDATE test SET test1='$test1', test2='$test2' WHERE ? "); 
    Vielen Dank schonmal für eure Mühe.
    Und falls es dann doch Mysqlbasics sein sollte, bin ich wahrscheinlich schon
    blind vom suchen...

    MfG Maik
     

  2. #2
    Avatar von ronaldo84
    ronaldo84 ronaldo84 ist offline Mitglied Brokat
    Registriert seit
    Dec 2004
    Ort
    Berlin / Rudow
    Beiträge
    453
    Hallo

    Du kannst die Funktion isnull verwenden

    SQL Bedingung:
    Update..
    set..
    Where isnull(spaltenname) = TRUE;
     
    Bitte alle erledigten Themen abschliessen.

  3. #3
    Zero2000 Zero2000 ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    249
    Hallo

    Ich bekomm' dann leider diesen Fehler:
    Unknown column 'TRUE' in 'where clause'
    In meiner Tabelle steht kein Wert drin nicht mal das sonst übliche NULL.
    Das ist wahrscheinlich der Grund warum ISNULL nicht funktioniert.
    IS NULL geht auch nicht. Ich habe auch verscheidene Schreibweisen durchprobiert.

    Hier mal mein momentaner Code:
    PHP-Code:
    mysql_db_query("$database""UPDATE tabelle SET  wert='$wert
    WHERE Id = 
    $oriid AND IS NULL([wert])")
    or die(
    "FEHLER:<br><br>".mysql_error()); 
    da bekomme ich diesen Fehler:
    PHP-Code:
    You have an error in your SQL syntax.
    Check the manual that corresponds to your MySQL
    server version 
    for the right syntax to use near
    'IS NULL([wert])' at line 1 
    MfG Maik
     

  4. #4
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Die Syntax lautet
    Code :
    1
    
    ... WHERE `Spaltenname` IS NULL
    Gruß hpvw

    EDIT: Die Funktion gibt es natürlich auch, ein weiterer Vergleich mit true ist dann allerdings nicht nötig:
    Code :
    1
    
    ... WHERE ISNULL(`Spaltenname`)

    http://dev.mysql.com/doc/mysql/de/co...operators.html
    Geändert von hpvw (10.10.05 um 10:15 Uhr)
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  5. #5
    Zero2000 Zero2000 ist offline Mitglied Gold
    Registriert seit
    Jul 2002
    Beiträge
    249
    Hallo

    Ich bekomme es nicht zum laufen. Ich kann ja mal versuchen zu erklären was ich vor habe.
    Ich wollte für meine ebaygeschäfte eine Offlineansicht basteln.
    Ich habe demnach diese grauen Bilder für unerledigte Sachen wie Zahlstatus und so weiter.
    Per Checkbox trage ich in ein char(1) Feld einen Wert ein das ist ein kleines "o".
    Standard ist nichts also ""
    Ich habe nun mehrere Abfragen.
    Wenn nichts in dem Feld steht dann zeige das graue Bild ansonsten das Blaue.
    Ist in einem Feld ein Wert wird das blaue Bild angezeigt und die Checkbox ist aktiviert und disabled.

    Wenn ich jetzt einen weiteren Status setzen will wird dieser eingetragen und der andere wieder ausgetragen. Deswegen wollte ich den Updatebefehl so gestalten, dass er nur Felder updatet in denen sich KEIN wert befindet. Alle anderen sollte er in ruhe lassen.

    Ist das irgendwie zu machen

    MfG Maik
     

  6. #6
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Unter "kein Wert" verstehst Du also einen Char mit 0 Zeichen?
    Dann bieten sich verschiedene Möglichkeiten:
    Code :
    1
    2
    3
    4
    5
    
    ... WHERE `Feldname`=''
     
    ... WHERE `Feldname` LIKE ''
     
    ... WHERE LENGTH(`Feldname`)=0
    Gruß hpvw
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

Ähnliche Themen

  1. MySQL - Wert subtrahieren aus der Summer von 2 Feldern
    Von proloser im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 15.08.10, 17:38
  2. Update von 3 Feldern gleichzeitig
    Von bytewarrier im Forum Relationale Datenbanksysteme
    Antworten: 14
    Letzter Beitrag: 02.12.09, 18:16
  3. MySQL: Zwei Feldern bei Insert den Autoincrement-Wert zuweisen
    Von HerbertXXL im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 14.11.08, 11:36
  4. Antworten: 5
    Letzter Beitrag: 01.03.08, 17:00
  5. [MySql] Update - Wert anhängen - Wie ?
    Von _voodoo im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 30.07.04, 12:17