S3Ri0US: mySQL und Spaltennamen ?

Moin alle zusammen.

Ich habe ein kleines Problem mit mySql. Ich habe eine Tabelle forum_zeiten in dieser sind mehrer Spalten  user, zeit_OffTopic, zeit_Hilfe und noch ein paar wie z.b. zeit_Verkaufe-Ausrüstung

so wenn ich die Spalten update funktinieren alle bis auf solche:

zeit_Verkaufe-Ausrüstung
zeit_Internes-Tuning

Kann es sein das mySQL etwas gegen bindestriche oder so hat ??

  1. PS. Die Spalten werden wie folgt upgedatet:

    $forumstring = "zeit_".$forum;
    mysql_query("UPDATE forum_zeiten SET $forumstring = '$jetzt' WHERE user='$username'");

    1. Hallo,

      tut mir leid aber ich sehe da keinen Fehler... da müssen die MySQL Experten ran... :-)

      MfG

    2. Hi S3Ri0US!

      $forumstring = "zeit_".$forum;
      mysql_query("UPDATE forum_zeiten SET $forumstring = '$jetzt' WHERE user='$username'");

      Wieso benutzt du nicht CURRENT_TIMESTAMP, CURRENT_TIMESTAMP() oder NOW()?
      Was beinhaltet $jetzt?
      Welche MySql-Version benutzt du?

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      1. Hallo

        Welche MySql-Version benutzt du?

        das ist ausnahmsweise irrelevant. Minuszeichen sind in ungequoteten Namen nicht gestattet. Das ist normal, vernünftig, logisch und zu erwarten.

        Freundliche Grüße

        Vinzenz

        1. Hi Vinzenz!

          Welche MySql-Version benutzt du?
          das ist ausnahmsweise irrelevant.

          Nicht ganz. Ich musste selbst erst feststellen, dass ein MySQL-Datum vom Typ TIMESTAMP in unterschiedlichen Versionen unterschiedlich dargestellt wird.
          Aber aus Erfahrung wird man klug...

          Minuszeichen sind in ungequoteten Namen nicht gestattet. Das ist normal, vernünftig, logisch und zu erwarten.

          Das habe ich nicht gewusst. Aber zum Glück gibt es genügend gute Geister, die mitlesen und -helfen.

          MfG H☼psel

          --
          "It's amazing I won. I was running against peace, prosperity, and incumbency."
          George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
          Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
          1. Hallo Hopsel,

            Minuszeichen sind in ungequoteten Namen nicht gestattet. Das ist normal, vernünftig, logisch und zu erwarten.

            Das habe ich nicht gewusst. Aber zum Glück gibt es genügend gute Geister, die mitlesen und -helfen.

            würdest Du Minuszeichen in Variablennamen in Sprachen wie Javascript, C oder BASIC verwenden?

            Beispiel gefällig:

              
                foo     = 3;  
                bar     = 7;  
                foo-bar = 12;  // was bewirkt wohl diese Anweisung?  
            
            

            Freundliche Grüße

            Vinzenz

            1. Hi Vinzenz!

              würdest Du Minuszeichen in Variablennamen in Sprachen wie Javascript, C oder BASIC verwenden?

              Nö. Mit "Das habe ich nicht gewusst." meinte ich auch eher: "Daran habe ich nicht gedacht."

              foo = 3;
              bar = 7;
              foo-bar = 12; // was bewirkt wohl diese Anweisung?

              Schlingel! ;-)

              MfG H☼psel

              --
              "It's amazing I won. I was running against peace, prosperity, and incumbency."
              George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
              Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hallo,

    Kann es sein das mySQL etwas gegen bindestriche oder so hat ??

    Solange kein Fehler kommt glaub ich nicht, dass Bindestriche falsch sind.

    Zeig bitte mal die Query...

    MfG

  3. Hallo

    zeit_Verkaufe-Ausrüstung

    ergibt den Wert der Spalte zeit_Verkaufe minus den Wert der Spalte Ausrüstung :-)

    Kann es sein das mySQL etwas gegen bindestriche oder so hat ??

    Jedes Datenbankmanagement (DBMS) hat etwas gegen Minuszeichen in Spaltennamen.
    Jedes DBMS erwartet, dass solche (ungünstig gewählten) Namen passend dem DBMS schmackhaft gemacht werden. Welche Zeichen dafür verwendet werden müssen, steht im Handbuch.

    Beachte: Andere DBMS verwenden andere Zeichen.

    Freundliche Grüße

    Vinzenz

  4. Setze die Namen einfach in Accentstriche. Die Werte in Apostrophe.
    Also name = 'test'