我对所有这些都很陌生,而且我很难发现语法中的错误是用于创建sql表的地方,我们非常感谢任何支持:
我收到的错误是:
ERROR 1064 (42000): 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 ims.orders ()
ON DELETE CASCADE
ON UPDATE CASCADE,
CO' at line 8它来自于运行以下代码片段:
CREATE TABLE IF NOT EXISTS `ims`.`orderline` (
`olid` INT NOT NULL AUTO_INCREMENT,
`oid` INT NOT NULL,
`iid` INT NOT NULL,
`quantity` INT NOT NULL,
PRIMARY KEY (`olid`),
CONSTRAINT `oid`
FOREIGN KEY ()
REFERENCES ims.orders ()
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `iid`
FOREIGN KEY ()
REFERENCES ims.items ()
ON DELETE CASCADE
ON UPDATE CASCADE
);从使用此架构创建的数据库中:
drop schema ims;
CREATE SCHEMA IF NOT EXISTS `ims`;
USE `ims` ;
CREATE TABLE IF NOT EXISTS `ims`.`customers` (
`cid` INT(11) NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(40) NULL DEFAULT NULL,
`surname` VARCHAR(40) NULL DEFAULT NULL,
PRIMARY KEY (`cid`)
);
CREATE TABLE IF NOT EXISTS `ims`.`items` (
`iid` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(40) NULL DEFAULT NULL,
`price` DECIMAL(10,2) NOT NULL,
PRIMARY KEY (`iid`)
);
CREATE TABLE IF NOT EXISTS `ims`.`orders` (
`oid` INT(11) NOT NULL AUTO_INCREMENT,
`cid`INT(11) NOT NULL,
FOREIGN KEY (cid) REFERENCES ims.customers (cid)
ON DELETE CASCADE
ON UPDATE CASCADE,
PRIMARY KEY (`oid`)
);发布于 2020-09-15 13:58:51
CREATE TABLE IF NOT EXISTS `ims`.`orderline` (
`olid` INT NOT NULL AUTO_INCREMENT,
`oid` INT NOT NULL,
`iid` INT NOT NULL,
`quantity` INT NOT NULL,
PRIMARY KEY (`olid`),
CONSTRAINT `oid_fk`
FOREIGN KEY (`oid`)
REFERENCES ims.orders (oid)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `iid_fk`
FOREIGN KEY (`iid`)
REFERENCES ims.items (iid)
ON DELETE CASCADE
ON UPDATE CASCADE
);https://stackoverflow.com/questions/63903426
复制相似问题