Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Tabelle kann in mysql nicht erstellt werden - Fehler 1064

MySQL 8.0.2 hat Unterstützung für das Fenster rank hinzugefügt Funktion, wodurch es zu einem wird reserviertes Wort .

Sie könnten es mit Backticks (`) maskieren:

CREATE TABLE ofRosterGroups (
  rosterID              BIGINT          NOT NULL,
  `rank`                TINYINT         NOT NULL, -- Here
  groupName             VARCHAR(255)    NOT NULL,
  PRIMARY KEY (rosterID, `rank`), -- And here
  INDEX ofRosterGroup_rosterid_idx (rosterID)
);

Es ist jedoch möglicherweise besser, nur einen Namen zu verwenden, der kein reserviertes Wort ist, wie z. B. rosterRank statt rank :

CREATE TABLE ofRosterGroups (
  rosterID              BIGINT          NOT NULL,
  rosterRank            TINYINT         NOT NULL, -- Here
  groupName             VARCHAR(255)    NOT NULL,
  PRIMARY KEY (rosterID, rosterRank), -- And here
  INDEX ofRosterGroup_rosterid_idx (rosterID)
);