Ergebnis 1 bis 10 von 10

Thema: mysql update

  1. #1
    jph
    jph ist offline
    TP-Veteran Avatar von jph
    Registriert seit
    Apr 2001
    Beiträge
    1.577

    mysql update

    wie kann ich bei einem mysql-update befehl an ein char feld etwas anhängen?
    PHP-Code:
    $insert_kommentar=mysql_query("update schueler set kommentare=kommentare+'$kommentar_neu' where schueler.id='$o'"); 
    ich will an das feld 'kommentare' die variable $kommentar_neu anhängen. klappt aber so nicht wie dann?

  2. #2
    Registered User Avatar von Toxical
    Registriert seit
    Dec 2001
    Ort
    Berlin
    Beiträge
    1.059
    erst auslesen , dann dranhängen dann updaten

    geht aber bestimmt auch shcneller.

    nur so wie dus gemahct gehtz eindeutig nicht

  3. #3
    jph
    jph ist offline
    TP-Veteran Avatar von jph
    Registriert seit
    Apr 2001
    Beiträge
    1.577
    ja soweit war ich auch schon, aber ich will über 100 einträge so updaten, gibt auch was performance-verträglicheres?

  4. #4
    TP-Insider Avatar von dares
    Registriert seit
    Feb 2001
    Beiträge
    531
    versuch es mal damit :

    PHP-Code:
    $insert_kommentar=mysql_query("update schueler set kommentare='kommentare".$kommentar_neu."' where schueler.id='".$o); 
    mfg dares
    ich bin krebs erregend - wer ist krebs?

  5. #5
    Registered User Avatar von Toxical
    Registriert seit
    Dec 2001
    Ort
    Berlin
    Beiträge
    1.059
    hm kanmir nicht vortsellen dass der inhalt von kommentar schon verfübar ist bevor eine SELECT anweisung ausgefüht wurde ...

  6. #6
    jph
    jph ist offline
    TP-Veteran Avatar von jph
    Registriert seit
    Apr 2001
    Beiträge
    1.577
    genau, toxical und deshalb funkst es auch nicht. irgendwer noch ne idee?? das ´mit dem auslesen, dann schreiben ist ja ganz nett aber es gibt doch bestimmt was eleganteres odeR?

  7. #7
    TP-Senior Avatar von Dreamflower
    Registriert seit
    Sep 2001
    Ort
    Iserlohn
    Beiträge
    101
    Ja, gibt es. Nämlich direkt per MySQL:

    PHP-Code:
    $insert_kommentar=mysql_query("
     UPDATE schueler
      SET kommentare= CONCAT(kommentare, '$kommentar_neu')
       WHERE schueler.id='$o'"
    ); 
    CONCAT kann durch beliebig weitere Variablen erweitert werden, also CONCAT(kommentare, '$kommentar1', '$kommentar2', ...)
    Dreamflower.

  8. #8
    TP-Senior Avatar von mat81
    Registriert seit
    Jun 2005
    Ort
    Köln
    Beiträge
    241
    Ab welcher MySQL-Version wird CONCAT denn unterstützt?

    Meine SQL-Query soll PLZs die kürzer als 5 Zeichen sind, eine 0 voran stellen. Bei mir klappts aber überhaupt nicht.

    Code:
    UPDATE dealers SET postcode = CONCAT ( '0' , postcode) WHERE LENGTH (postcode) < 5

    The difference between theory and practice is
    that in theory there is no
    difference between theory and practice
    but in practice there is

  9. #9
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Da hat aber jemand gaaanz tief gegraben
    Für eine PLZ würde sich wohl eher ein INT Feld anbieten, mit Attribut unsigned zerofill. Das füllt automatisch die Zahl mit Nullen, sofern diese nicht die nötige Länge hat.
    z.B. Du wählst als Feld-Typ INT mit Länge 5 aus und gibst dem Feld unsigned zerofill als Attribut und Du fügst z.B. 351 ein, dann wird daraus automatisch 00351.

  10. #10
    TP-Senior Avatar von mat81
    Registriert seit
    Jun 2005
    Ort
    Köln
    Beiträge
    241
    Danke für den Tip. Man lernt nie aus.

    The difference between theory and practice is
    that in theory there is no
    difference between theory and practice
    but in practice there is

Aktive Benutzer

Aktive Benutzer

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

Aktive Benutzer

Aktive Benutzer

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

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51