Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A tabela não pode ser criada no mysql -Erro 1064


MySQL 8.0.2 adicionou suporte para a janela rank função, tornando-o um palavra reservada .

Você pode escapar usando acentos graves (`):
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)
);

Mas pode ser uma ideia melhor usar apenas um nome que não seja uma palavra reservada, como rosterRank em vez 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)
);