CREATE TABLE `DB`.`ORDER` (
`oid` INT NOT NULL UNIQUE AUTO_INCREMENT,
`createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`oValue` FLOAT NOT NULL,
`no` INT NOT NULL,
`qty` INT NOT NULL,
`status` VARCHAR(20) NOT NULL,
`refundStatus` VARCHAR(10),
`refundId` INT,
`paymentStatus` VARCHAR(10),
`paymentId` INT,
`aid` INT,
PRIMARY KEY(`oid`),
FOREIGN KEY `aid` REFERENCES ADDR(`aid`)
)
ENGINE = InnoDB;
Таблица ADDR с ключом aid
существует в БД, но я получаю ошибку при выполнении этой команды.
Ошибка:
CREATE TABLE `DB`.`ORDER` (
`oid` INT NOT NULL UNIQUE AUTO_INCREMENT,
`createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`oValue` FLOAT NOT NULL,
`no` INT NOT NULL,
`qty` INT NOT NULL,
`status` VARCHAR(20) NOT NULL,
`refundStatus` VARCHAR(10),
`refundId` INT,
`paymentStatus` VARCHAR(10),
`paymentId` INT,
`aid` INT,
PRIMARY KEY(`oid`),
FOREIGN KEY `aid` REFERENCES ADDR(`aid`)
)
ENGINE = InnoDB
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES ADDR(`aid`)
)
ENGINE = InnoDB' at line 14
Я не могу выяснить, почему в этом случае это происходит, а не в другом.