ichen: was ist an diesem query falsch?

Moin!
hier mein query, den mysql immer rausschmeißt:

$sql = "Insert into mannschaft (Mannschaft-Nr,Kategorie,MannschaftsName,Unvollständig,Regelwiedrig,Mannschaftsleiter,Quittung drucken) values ('',1,'teamname','','','','');";

fehlermeldung:
#1064 - 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 '- Nr, Kategorie, MannschaftsName, Unvollständig, Regelwiedrig,

danke für antworten

tschüss
ichen

--
Selfcode: sh:( fo:| br: n4:& ie:% mo:| mo:| de:] zu:) fl:| ss:| ls:[ js:|
  1. Hallo!

    fehlermeldung:
    #1064 - 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 '- Nr, Kategorie, MannschaftsName, Unvollständig, Regelwiedrig,

    Also wenn das die ganze Fehlermeldung ist, dann schaut das doch sehr danach aus, daß MySQL auf den Bindestrich nicht sonderleich heiß ist.

    Beste Grüße
    Viennamade

  2. Hallo ichen!

    $sql = "Insert into mannschaft (Mannschaft-Nr,Kategorie,MannschaftsName,Unvollständig,Regelwiedrig,Mannschaftsleiter,Quittung drucken) values ('',1,'teamname','','','','');";
    fehlermeldung:
    #1064 - 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 '- Nr, Kategorie, MannschaftsName, Unvollständig, Regelwiedrig,

    1. Ist "-" in Feldnamen erlaubt?
    2. Ist "ä" in Feldnamen erlaubt?
    3. Ein kleiner Rechtschreibfehler: Es sollte wohl regelwidrig heißen.
    (Laut http://dev.mysql.com/doc/mysql/en/Legal_names.html ist in Feldnamen jedes Zeichen erlaubt. Doch grundsätzlich wär ich mit Umlauten vorsichtig.)

    MfG
    Götz

    --
    Losung für Montag, 27. September 2004
    Suchet den Herrn, alle ihr Elenden im Lande, die ihr seine Rechte haltet! Suchet Gerechtigkeit, suchet Demut! (Zefanja 2,3)
    Die Liebe ist langmütig und freundlich, die Liebe eifert nicht, die Liebe treibt nicht Mutwillen, sie bläht sich nicht auf. (1. Korinther 13,4)
    (http://www.losungen.de/heute.php3)
    1. Tag,

      $sql = "Insert into mannschaft (Mannschaft-Nr,Kategorie,MannschaftsName,Unvollständig,Regelwiedrig,Mannschaftsleiter,Quittung drucken) values ('',1,'teamname','','','','');";

      ich hätte auch das Leerzeichen noch weggelassen, ziemlich gewagt...

      MfG
      Rouven

      --
      -------------------
      ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  3. Hi,

    $sql = "Insert into mannschaft (Mannschaft-Nr,Kategorie,MannschaftsName,Unvollständig,Regelwiedrig,Mannschaftsleiter,Quittung drucken) values ('',1,'teamname','','','','');";

    es wird wohl das Minuszeichen sein, aber zu den verwendeten Namen:
    mannschaft             besser: Manschaften
    Mannschaft-Nr,         wenn die Tabelle 'mannschaft' heisst, wird hier keine Praefix benoetigt, waere redundant
    Kategorie,
    MannschaftsName,       s.o.
    Unvollständig,         besser: Ist_Unvollstaendig_Erfasst (Boolean?)
    Regelwiedrig,          besser: Ist_Regelwidrig (Boolean?)
    Mannschaftsleiter,     s.o.
    Quittung drucken       besser: Ist_Quittung_Gedruckt (Boolean?)

    Gruss,
    Ludger

    --
    "Machts der Gerd nicht, machts der Franz."
    1. yo,

      Mannschaft-Nr,         wenn die Tabelle 'mannschaft' heisst, wird hier keine Praefix benoetigt, waere redundant

      bezogen auf eine tabelle magst du dabei recht haben. aber wenn mehrere tabellen in einer abfrage vorkommen, dann macht ein praefix durchaus sinn, um nicht mehrmals den gleichen spaltennamen zu bekommen. sicherlich kann man dann einen alias benutzen, aber der praefix dient der besseren übersichlichkeit.

      Ilja

      1. Hi,

        Mannschaft-Nr,         wenn die Tabelle 'mannschaft' heisst, wird hier keine Praefix benoetigt, waere redundant

        bezogen auf eine tabelle magst du dabei recht haben. aber wenn mehrere tabellen in einer abfrage vorkommen, dann macht ein praefix durchaus sinn, um nicht mehrmals den gleichen spaltennamen zu bekommen. sicherlich kann man dann einen alias benutzen, aber der praefix dient der besseren übersichlichkeit.

        richtig, auch weil es dann DB-weit eindeutige Datenfeldnamen gibt zum Beispiel. Das ist dann ja ganz nett.

        Dennoch gibt es auch gegen diese Argumentation zwei mir bekannte Einwaende:
        1.) Man muss zuviel schreiben => also z.B. die Praefix 'MS_' statt 'Mannschaft_' verwenden
        2.) Manche meinen wirklich, dass man kine Praefices auf DF-Ebene nutzen sollte, denn wenn geJOINt wird kommt man mit Tabellen-Aliasen und hat dann sowas wie 'MS.Nummer' statt 'MS_Nummer'

        Wer hier Recht hat weiss ich nicht beurteilen. Ich arbeite zurzeit allerdings meist noch mit Praefices, manchmal sogar mit den (wie von Dir vorgeschlagen) Vollausgeschriebenen.

        Es waren schon einige Sachen 'an diesem query falsch'.   ;-)

        Gruss,
        Ludger

        --
        "Was macht eigentlich Harald Schmidt?"
  4. Hallo ichen,

    $sql = "Insert into mannschaft (Mannschaft-Nr,Kategorie,
    MannschaftsName,Unvollständig,Regelwiedrig,Mannschaftsleiter,
    Quittung drucken) values ('',1,'teamname','','','','');";

    Du musst die Feldnamen, die etwas »aussergewoehnlicher« benamst
    sind, quoten:

    INSERT INTO mannschaft (
      Mannschaft-Nr,
      Kategorie,
      MannschaftsName,
      Unvollständig,
      Regelwiedrig,
      Mannschaftsleiter,
      Quittung drucken
    )
    VALUES (
      '',
      1,
      'teamname',
      '',
      '',
      '',
      ''
    );

    Grüße,
     CK

    --
    Sobald dir ein Gedanke kommt, lache über ihn.
    http://wwwtech.de/
  5. Hallo.

    $sql = "Insert into mannschaft (Mannschaft-Nr,Kategorie,MannschaftsName,Unvollständig,Regelwiedrig,Mannschaftsleiter,Quittung drucken) values ('',1,'teamname','','','','');";

    Kann es schlicht sein, dass Du den ";" am Ende weglassen musst, wenn Du das SQL Statement in einer "Scriptingumgebung" benutzt, d.h. nicht direkt an der DB Konsole arbeitest?

    Orcale ist da ziemlich häßlich: bei SQLPlus (Konsole) muss man den Strichpunkt angeben, bei der Verwendung via JDBC (z.B. innerhalb von SQuirreL oder XSLT) darf der Strichpunkt nicht verwendet werden.

    Sach bescheid, an was es lag.

    Interessierte Grüße

    Martin.