sql >> Databasteknik >  >> RDS >> Mysql

Tabell kan inte skapas i mysql -Error 1064

MySQL 8.0.2 lade till stöd för fönstret rank funktion, vilket gör den till en reserverat ord .

Du kan undkomma det med 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)
);

Men det kan vara en bättre idé att bara använda ett namn som inte är ett reserverat ord, till exempel rosterRank istället för 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)
);



  1. Hur du skyddar din MySQL- och MariaDB-databas mot cyberattacker när du är på ett offentligt nätverk

  2. Hur man hanterar sessioner i Node.js med Passport, Redis och MySQL

  3. Markör föråldrad dump

  4. Välj specifika rader och kolumner från en SQL-databas