2015-05-14 91 views
1
ALTER TABLE `attendance` 
    ADD CONSTRAINT `attendance_ibfk_1` FOREIGN KEY (`subid`) REFERENCES `subject` (`subid`) ON DELETE CASCADE ON UPDATE CASCADE, 
    ADD CONSTRAINT `attendance_ibfk_2` FOREIGN KEY (`studid`) REFERENCES `studentdetails` (`studid`) ON DELETE CASCADE ON UPDATE CASCADE; 

--attendance table is 

CREATE TABLE IF NOT EXISTS `attendance` (
    `attid` bigint(4) NOT NULL AUTO_INCREMENT, 
    `studid` varchar(20) NOT NULL, 
    `subid` bigint(4) NOT NULL, 
    `totalclasses` int(2) NOT NULL, 
    `attendedclasses` int(2) NOT NULL, 
    `percentage` double(4,2) NOT NULL, 
    `comment` text NOT NULL, 
    PRIMARY KEY (`attid`), 
    KEY `studid` (`studid`), 
    KEY `subid` (`subid`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; 

--subject table is... 

CREATE TABLE IF NOT EXISTS `subject` (
    `subid` bigint(4) NOT NULL AUTO_INCREMENT, 
    `subname` varchar(20) NOT NULL, 
    `courseid` bigint(4) NOT NULL, 
    `lecid` bigint(4) NOT NULL, 
    `subtype` varchar(25) NOT NULL, 
    `semester` varchar(25) NOT NULL, 
    `comment` text NOT NULL, 
    PRIMARY KEY (`subid`), 
    KEY `courseid` (`courseid`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; 

-- Table structure for table `studentdetails` 
-- 

CREATE TABLE IF NOT EXISTS `studentdetails` (
    `studid` varchar(25) NOT NULL, 
    `studfname` varchar(20) NOT NULL, 
    `studlname` varchar(20) NOT NULL, 
    `fathername` varchar(25) NOT NULL, 
    `gender` varchar(20) NOT NULL, 
    `address` varchar(100) NOT NULL, 
    `contactno` varchar(20) NOT NULL, 
    `courseid` bigint(4) NOT NULL, 
    `semester` varchar(20) NOT NULL, 
    `dob` date NOT NULL, 
    PRIMARY KEY (`studid`), 
    KEY `courseid` (`courseid`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

回答

1

存在类型不匹配。 attendance.studidvarchar(20)studentdetails.studidvarchar(25)

我想都应该是varchar(20)varchar(25)

相关问题