pc-world: MySQL - Syntax-Fehler

Ich habe einen Fehler in meinem SQL-Befehl.

Code:
INSERT INTO MeineTabelle SET userID='123456', key='987654'

Die Fehlermeldung:
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 'key='987654'' at line 1

Aber eigentlich sieht der Befehl so wie meine anderen aus, die auch funktionieren...

Wo liegt der Fehler?

  1. Hallo

    Ich habe einen Fehler in meinem SQL-Befehl.

    Code:
    INSERT INTO MeineTabelle SET userID='123456', key='987654'

    Die Fehlermeldung:
    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 'key='987654'' at line 1

    Aber eigentlich sieht der Befehl so wie meine anderen aus, die auch funktionieren...

    Wo liegt der Fehler?

    Bei Spaltennamen sollte man immer vorsichtig sein und keine Namen verwenden die auch Befehle sein können.

    Wenn Du doch solche Namen verwendest, dann solltest Du sie maskieren, also so:
    INSERT INTO MeineTabelleSETuserID='123456', key='987654'

    Gruß
    Roland

    1. Wenn Du doch solche Namen verwendest, dann solltest Du sie maskieren, also so:

      Hatte ich auch vor kurzem noch so gemacht, aber so hatte ich auch mal Ärger, seitdem habe ich es ohne Maskierung gemacht...

      INSERT INTO MeineTabelleSETuserID='123456', key='987654'

      Danke!

      1. Naja, jedenfalls ist 'key' als Spaltenname etwas schlecht gewählt.
        Du könntest ja auch userKey oder etwas ähnliches verwenden.

        Gruß
        Roland

    2. echo $begrüßung;

      Wenn Du doch solche Namen verwendest, dann solltest Du sie maskieren, also so:
      INSERT INTO MeineTabelleSETuserID='123456', key='987654'

      Das nennt sich aber quotieren. Quotieren ist das Einschließen in Anführungszeichen (Quotes). Maskieren nennt man die Ersatzschreibweise für Zeichen mit Sonderbedeutung. Man setzt ihnen eine Maske auf, damit sie nicht als Sonderzeichen erkannt werden.

      echo "$verabschiedung $name";

  2. INSERT INTO MeineTabelle SET userID='123456', key='987654'
    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 'key='987654'' at line 1

    Die Liste reservierter Wörter im Handbuch nachlesen
    den betreffenden Bezeichner gemäß Handbuch maskieren