我正在做一个网上商店,所以我想做一个表,既有我的销售 table(Compra)
还有我的衬衫 (camisolas) table
.
这是我的销售台
CREATE TABLE `compra` (
`idCompra` int(11) NOT NULL,
`dataCompra` datetime DEFAULT NULL,
`valorTotal` varchar(50) DEFAULT NULL,
`utilizador_idUser` int(11) NOT NULL
);
这是我的衬衫(camisolas)table
CREATE TABLE `camisolas` (
`idCam` int(11) NOT NULL,
`nome` varchar(100) NOT NULL,
`preco` float NOT NULL,
`camisola_imagem` varchar(150) NOT NULL
);
这就是我要做的table
create table user_has_compra(
idCompra1 int primary key auto_increment,
idBuy int(11),
idCamisola int(11),
quantidade int(10)
);
ALTER TABLE `user_has_compra`
ADD CONSTRAINT `fk_compra_camisola` FOREIGN KEY (`idCamisola`) REFERENCES `camisolas` (`idCam`),
ADD CONSTRAINT `fk_compra_compra` FOREIGN KEY (`idBuy`) REFERENCES `compra` (`idCompra`)
;
这就是约束´我正在努力,谢谢你的帮助。
我得到的错误是
1条答案
按热度按时间iovurdzv1#
在mysql中,外键的父列需要索引,因此可以高效地进行查找。
在您的架构中,两个父表都缺少一个主键,因此您不能在子表中引用它们。
我想你想要:
然后可以使用现有代码创建子表并添加约束。
db小提琴演示