sql >> Database teknologi >  >> RDS >> Mysql

Tabel kan ikke oprettes i mysql -Error 1064

MySQL 8.0.2 tilføjede understøttelse af vinduet rank funktion, hvilket gør den til en reserveret ord .

Du kan undslippe det ved at bruge 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 være en bedre idé blot at bruge et navn, der ikke er et reserveret ord, såsom rosterRank i stedet for 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. Hvordan kan jeg se, om en database er af høj kvalitet?

  2. hente parameter fra lagret procedure?

  3. Automatisk failover af Moodle PostgreSQL-databasen

  4. Enhedstest for PL/SQL