我能';I don’我不能让这个查询起作用';mysql'';phpmyadmin';
我放弃了,我已经重写了3次代码,但我在代码中找不到问题。。。我做过很多复杂的数据库,但我找不到这个小东西有什么错。。。下面是最后的代码和错误 谢谢:) 错误 SQL查询: 创建表格我能';I don’我不能让这个查询起作用';mysql'';phpmyadmin';,php,html,mysql,database,phpmyadmin,Php,Html,Mysql,Database,Phpmyadmin,我放弃了,我已经重写了3次代码,但我在代码中找不到问题。。。我做过很多复杂的数据库,但我找不到这个小东西有什么错。。。下面是最后的代码和错误 谢谢:) 错误 SQL查询: 创建表格gameEstilos( nomejogovarchar(100)不为空, estilovarchar(100)不为空, 主键(nomejogo,estilo), 更新时的外键(nomejogo)引用randomgame(nomejogo)删除级联时无操作, 更新时的外键(estilo)引用estilo(estilo)
gameEstilos
(
nomejogo
varchar(100)不为空,
estilo
varchar(100)不为空,
主键(nomejogo
,estilo
),
更新时的外键(nomejogo
)引用randomgame
(nomejogo
)删除级联时无操作,
更新时的外键(estilo
)引用estilo
(estilo
)删除时不执行任何操作
)引擎=InnoDB
MySQL说:文档
“#”1215-无法添加外键约束表中的外键指向另一个表中的主键 将主键从codestilo更改为estilo并删除自动增量后,以下SQL正在工作:
CREATE TABLE `randomgame` (
`nomejogo` varchar(100) NOT NULL,
PRIMARY KEY (`nomejogo`)
) ENGINE=InnoDB;
create table `estilos` (
`codestilo` int(100) NOT NULL ,
`estilo` varchar(100) NOT NULL,
PRIMARY KEY (`estilo`)
) ENGINE=InnoDB;
Create table `gameEstilos`(
`nomejogo` varchar(100) NOT NULL,
`estilo` varchar(100) NOT NULL,
primary key(`nomejogo`,`estilo`),
FOREIGN KEY (`nomejogo`) REFERENCES `randomgame` ( `nomejogo` ) ON UPDATE NO ACTION ON DELETE CASCADE,
FOREIGN KEY ( `estilo` ) REFERENCES `estilos` ( `estilo` ) ON UPDATE NO ACTION ON DELETE CASCADE
) ENGINE=InnoDB;
但我需要CodeStillo自动递增,如果我在estilos中将它用作外键作为主键会怎么样?我昨天真的很困,谢谢你的帮助我已经设法得到了我想要的:)
CREATE TABLE `randomgame` (
`nomejogo` varchar(100) NOT NULL,
PRIMARY KEY (`nomejogo`)
) ENGINE=InnoDB;
create table `estilos` (
`codestilo` int(100) NOT NULL ,
`estilo` varchar(100) NOT NULL,
PRIMARY KEY (`estilo`)
) ENGINE=InnoDB;
Create table `gameEstilos`(
`nomejogo` varchar(100) NOT NULL,
`estilo` varchar(100) NOT NULL,
primary key(`nomejogo`,`estilo`),
FOREIGN KEY (`nomejogo`) REFERENCES `randomgame` ( `nomejogo` ) ON UPDATE NO ACTION ON DELETE CASCADE,
FOREIGN KEY ( `estilo` ) REFERENCES `estilos` ( `estilo` ) ON UPDATE NO ACTION ON DELETE CASCADE
) ENGINE=InnoDB;