Jessica: Was mach ich falsch

Hallo,

was mach ich da in dem PHPyAdmin nur falsch ? Kann mir da mal einer Helfen?

SQL-Befehl :

CREATE TABLE Discos (

id VARCHAR( 30 ) NOT NULL ,
Name TEXT( 30 ) NOT NULL ,
Straße TEXT( 30 ) NOT NULL ,
Platz TEXT( 30 ) NOT NULL ,
Ort TEXT( 30 ) NOT NULL ,
Montag VARCHAR( 30 ) NOT NULL ,
Dienstag VARCHAR( 30 ) NOT NULL ,
Mittwoch VARCHAR( 30 ) NOT NULL ,
Donnerstag VARCHAR( 30 ) NOT NULL ,
Freitag VARCHAR( 30 ) NOT NULL ,
Samstag VARCHAR( 30 ) NOT NULL ,
Sonntag VARCHAR( 30 ) NOT NULL ,
Wertung INT( 30 ) NOT NULL ,
IMG TEXT( 30 ) NOT NULL ,
PRIMARY KEY ( id )
)

MySQL meldet:

#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 '(30) NOT NULL, Straße TEXT(30) NOT NULL, Platz TEXT(30) NOT

  1. CREATE TABLE Discos (

    id VARCHAR( 30 ) NOT NULL ,
    Name TEXT( 30 ) NOT NULL ,

    der Datentyp TEXT hat keine Fixe länge. Du kannst also nicht angeben dein Text soll 30 Zeichen lang sein. Dafür gibt es den Typ "VARCHAR".

    Schreib
    Name TEXT NOT NULL ,
    oder
    Name VARCHAR( 30 ) NOT NULL ,

    mfg Tobias

    1. Hallo Tobias,

      hab da noch nee Frage. Wenn ich eine Zeit eingeben will also z.B. von 12.00 uhr - 14.00 Uhr wie muss ich das dann machen also mit was für einem Typ ? Kann ich da auch Text lassen ?

      Gurß Jessica

      1. hab da noch nee Frage. Wenn ich eine Zeit eingeben will also z.B. von 12.00 uhr - 14.00 Uhr wie muss ich das dann machen also mit was für einem Typ ? Kann ich da auch Text lassen ?

        Ich nehme an du willst den Text "von 12.00 uhr - 14.00 Uhr" eingeben, und nicht eine Zeit, die das Programm verwerten kann, dafür gibt es sonst auch Datentypen.

        Wenn du weisst, das der Text für dieses Feld nie länger als z.B. 50 Zeichen wird, kannst du VARCHAR( 50 ) nehmen.
        Ich empfehle aber auch den Typ "TEXT".

        BYEBYE

        1. HuHu,

          danke für deine Hilfe :-)

          ByBye

        2. Hello,

          Ich nehme an du willst den Text "von 12.00 uhr - 14.00 Uhr" eingeben, und nicht eine Zeit, die das Programm verwerten kann, dafür gibt es sonst auch Datentypen.

          Wenn du weisst, das der Text für dieses Feld nie länger als z.B. 50 Zeichen wird, kannst du VARCHAR( 50 ) nehmen.
          Ich empfehle aber auch den Typ "TEXT".

          Ich empfehle die Aufteilung in zwei Felder vom Typ TIME und Auslagerung in eine eigene Datei, also einen zusätzlichen Normalisierungsschritt. Denn im Stammdatensatz könnten verschiedene Zeiträume vorkommen, von 0 bis n Stück.

          • Warenanlieferung

          • Öffnungszeiten
            -- Montag
            -- Dienstag
            -- Mittwoch
            ...

          • Bürozeiten

          u.s.w.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
  2. Hi,

    was mach ich da in dem PHPyAdmin nur falsch ? Kann mir da mal einer Helfen?

    Was Du falsch machst?

    • Du wählst für ein Datenbank-Problem den Bereich PHP.
    • Du wählst einen absolut sinnfreien Titel für Deinen Thread.

    CREATE TABLE Discos (
    id VARCHAR( 30 ) NOT NULL ,
    Name TEXT( 30 ) NOT NULL ,

    Ich bin mir nicht sicher, aber ich meine, daß bei TEXT keine Größenangabe möglich ist. Dafür gäbe es ja CHAR(30) oder VARCHAR(30).

    Straße TEXT( 30 ) NOT NULL ,

    Ich würde auf Umlaute und sonstige nicht-7bit-ASCII-Zeichen in Spaltennamen/Tabellennamen/usw. verzichten.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.