我想在mysql中创建to表,第一个表名为cateégorie,第二个表名为Article:
(条款)0…..*.--1(类别)
但我有个错误:
在idCat上创建外键时出错(检查数据类型)
这就是我试过的代码:

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声明为非空,然后尝试使用ON DELETE SET NULL操作创建外键。
更改列或外键定义。

关于mysql - 在<TableName>上创建外键时出错(检查数据类型),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16713421/

10-09 01:00