Mysql
 sql >> Base de données >  >> RDS >> Mysql

La table ne peut pas être créée dans mysql -Erreur 1064

MySQL 8.0.2 a ajouté la prise en charge de la fenêtre rank fonction, ce qui en fait un mot réservé .

Vous pouvez y échapper en utilisant des backticks (`):

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)
);

Mais il peut être préférable d'utiliser simplement un nom qui n'est pas un mot réservé, tel que rosterRank au lieu de 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)
);