MySQL建立一个数据库中有多张表,每个表中都有id作为主键,为什么第一张表会报错?

来源:互联网 发布:海岛奇兵升级数据2017 编辑:程序博客网 时间:2024/05/10 02:31

表一t_class:

CREATE TABLE `t_class` (

  `id` int(20) NOT NULL,
  `ClassName` varchar(20) DEFAULT NULL,
  `GradeID` int(11) DEFAULT NULL,
  `ClassDesc` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_t_class` (`GradeID`),
  CONSTRAINT `FK_t_class` FOREIGN KEY (`GradeID`) REFERENCES `t_grade` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表二t_grade:

CREATE TABLE `t_grade` (
  `id` int(10) NOT NULL,
  `GradeName` varchar(20) DEFAULT NULL,
  `GradeDesc` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表三t_student:

CREATE TABLE `t_student` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `StudentNum` int(20) DEFAULT NULL,
  `StudentName` varchar(20) DEFAULT NULL,
  `StudentSex` varchar(10) DEFAULT NULL,
  `StudentBirthday` date DEFAULT NULL,
  `StudentPlace` varchar(20) DEFAULT NULL,
  `StudentClassId` int(20) DEFAULT NULL,
  `StudentGradeId` int(10) DEFAULT NULL,
  `StudentDesc` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_t_student` (`StudentClassId`),
  CONSTRAINT `FK_t_student` FOREIGN KEY (`StudentClassId`) REFERENCES `t_class` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

表四t_user:

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `UserName` varchar(20) DEFAULT NULL,
  `PassWord` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;


本人初学MySQL没多久,求大神帮忙看看错误出在哪里了,具体怎么修改。。。

主键,外键问题一直都搞不懂

,有时候添加外键后就会出如图警告,也不知道怎么回事,真心求教啊!!!!!!

0 0
原创粉丝点击