我想在 mysql 中创建表,第一个表称为 Catégorie,第二个表称为 Article:
(文章)0..* ------------ 1(类别)
但是我得到这个错误:
Error creating foreign key on idCat (check data types)
这是我试过的代码:
CREATE TABLE IF NOT EXISTS `Catégorie` (
`idCat` int(11) NOT NULL,
`libCat` varchar(50) DEFAULT NULL,
PRIMARY KEY (`idCat`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `Article` (
`codeArt` int(11) NOT NULL,
`desgArt` int(11) DEFAULT NULL,
`etatArt` varchar(50) DEFAULT NULL,
`qteArt` int(11) DEFAULT '1',
`qteseulmin` varchar(50) DEFAULT NULL,
`idCat` int(11) NOT NULL,
PRIMARY KEY (`codeArt`),
KEY `idCat` (`idCat`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `Article` ADD FOREIGN KEY ( `idCat` ) REFERENCES `GestionStock`.`Catégorie` (
`idCat`
) ON DELETE SET NULL ON UPDATE CASCADE ;
最佳答案
您将列 Article.idCat
声明为 NOT NULL,然后您尝试使用 ON DELETE SET NULL 操作创建外键。
更改列或外键定义。
关于mysql - 在 <TableName> 上创建外键时出错(检查数据类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16713421/