CREATE TABLE Syntax Fehler

DerEisige

Erfahrenes Mitglied
Hi, könnt ihr mir kurts helfen.

Ich möchte eine neue Tabelle erstellen
SQL:
CREATE TABLE character (
ID int NOT NULL AUTO_INCREMENT,
gender VARCHAR(45),
birthday DATE,
haircolour VARCHAR(45),
eyecolour VARCHAR(45),
bloodtype VARCHAR(45),
height DOUBLE(3,3),
weight INT(5),

CONSTRAINT PK_character PRIMARY KEY(ID)
)ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci;

Bekomme aber immer eine Fehlermeldung das die Syntax nicht stimme.

DBMS: MartinDB
 
Hi

"CHARACTER" ist ein reserviertes Wort in Mysql/Mariadb, so wie SELECT, TABLE usw.
Und "CHARSET=utf8" sollte afaik "CHARSET utf8" sein.

PS: MartinDB?
 
Ich habe auch noch nie von MartinDB gehört. Aber mein Einwurf ist überall derselbe: Meist macht es wenig Sinn, ein reinen Integer als Variable für IDs zu nehmen. Integer fangen in der Regel im negativen Bereich an (bei -2147483648). Kaum ein DBA oder Designer nutzt den negativen Wertebereich. Wenn Dein DB-System soetwas kennt, dann solltest Du ein unsigned Integer verwenden, also den negativen Bereich weglassen und den positiven Bereich verdoppeln. Ist einfach besseres Design.
 
Zurück