我有如图所示的关系,但是当我从 Member_details 更新 member_name 时,
committee_memba
等其他表不会更新,在创建关系之前,我在数据库(Hr_system)上运行了以下更新查询
SET GLOBAL FOREIGN_KEY_CHECKS=0;
我的
committee_memba
表结构如下:
CREATE TABLE `committee_memba`
(
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Committee_name` varchar(150) NOT NULL,
`Member_name` varchar(250) NOT NULL,
`Rank` varchar(100) NOT NULL,
`Active` varchar(6) NOT NULL DEFAULT 'No',
PRIMARY KEY (`ID`),
UNIQUE KEY `Committee_name` (`Committee_name`,`Member_name`)
) ENGINE=InnoDB AUTO_INCREMENT=193 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
和桌子
Member_details
CREATE TABLE `member_details`
(
`Name` varchar(250) NOT NULL,
`IDNo` int(10) NOT NULL,
`Phone` varchar(15) NOT NULL,
`Gender` varchar(8) NOT NULL,
`TaxRate` float NOT NULL,
`Bank_Name` varchar(125) NOT NULL,
`NHIF` varchar(20) NOT NULL,
`NSSF` varchar(20) NOT NULL,
`KRA` varchar(11) NOT NULL,
`Active` varchar(5) NOT NULL,
`Bank_account` varchar(30) NOT NULL,
PRIMARY KEY (`Name`,`IDNo`,`Phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
您需要通过运行启用外键
SET GLOBAL FOREIGN_KEY_CHECKS=1;
您使用
禁用了外键检查SET GLOBAL FOREIGN_KEY_CHECKS=0;
因此对引用列所做的更改不会级联到相关表