Mysqlanweisung nicht ausführbar



  • Hi ich krieg immer folgende 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 'idint(11) unsigned NOT NULL auto_increment, \username` varchar(255) NOT NULL' at line 2

    für folgende Mysql_anweisung:

    $MYSQL_String7 = "CREATE TABLE users (
      `id` int(11) unsigned NOT NULL auto_increment,
      `username` varchar(255) NOT NULL default '1',
      `userrealm` varchar(255) NOT NULL default 'mail.example.com',
      `userPassword` varchar(255) NOT NULL default '1stP@ss',
      `auth` tinyint(1) default '1',
      PRIMARY KEY  (`id`),
      UNIQUE KEY `id` (`id`)
    )TYPE=MyISAM COMMENT='SMTP AUTH relay users' AUTO_INCREMENT=34;";
    

    Ich kenn mich aber leider net sonderlich gut mit dem Zeugs aus wo isn da der Haken?

    MFG eiskalt



  • Check' mal die Mysqlversion. Vielleicht ist das noch eine uralte, die das ```-Escaping nicht kennt.



  • mysql Ver 14.12 Distrib 5.0.18, for pc-linux-gnu (i486) using readline 5.1

    is die zu alt? Aber ich glaub daran liegts net ich hab die ``jetzt alle raus gemacht und krieg immer noch ne Fehlermeldung



  • ok hat sich erledigt sind unsichtbare Zeichen drin gewesen THX



  • int (11) bringt IMHO sowieso nichts.
    Max = int (10)



  • ka das is ein mysql_dump für eine Postfix maildatenbank wird schon so stimmen was die Jungs da gemacht ham *g*



  • ein INT in MySQL hat immer 4 Bytes.

    Was man da übergibt ist der Anzeigebereich.
    Dieser ist nicht größer als 10.
    Somit funktioniert es zwar mit int (11) aber verlasse dich nicht in Zukunft darauf.
    MAX = 10
    Somit haben die Jungs einen Fehler gemacht.

    INT -2147483648 2147483647
    0 4294967295

    Dies ist der Wertebereich.
    Also max 10 Ziffern.



  • oh ok das wusste ich nicht

    THX


Anmelden zum Antworten