外键关联无法更新问题

1.创建主表

CREATE TABLE `c_type` (
  `id` varchar(32) NOT NULL,
  `parent_id` varchar(32) DEFAULT NULL,
  `type` varchar(32) DEFAULT NULL,
  `display_name` varchar(16) DEFAULT NULL,
  `display_order` int(11) DEFAULT NULL,
  `comments` varchar(256) DEFAULT NULL,
  `state` varchar(16) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.创建从表

CREATE TABLE `zhubiao` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `type` varchar(32) DEFAULT NULL,
  `reason` varchar(32) DEFAULT NULL,
  `reason_desc` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`),
  CONSTRAINT `FK_zhubiao_type` FOREIGN KEY (`type`) REFERENCES `c_type` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=83137 DEFAULT CHARSET=utf8;

3.插入数据

(1)主表先插入

INSERT INTO `c_type` VALUES ('1', null, null, '类型1', '1', '类型1', 'normal');
INSERT INTO `c_type` VALUES ('2', null, null, '类型2', '3', '类型2', 'normal');
INSERT INTO `c_type` VALUES ('3', null, null, '类型3', '2', '类型3', 'normal');
INSERT INTO `c_type` VALUES ('4', null, null, '类型4', '4', '类型4', 'normal');

(2)从表再插入

INSERT INTO `zhubiao` VALUES (1,'1', null, NULL);
4.对外键做更新

扫描二维码关注公众号,回复: 6415995 查看本文章

有外键关联的表做更新、插入和删除的操作,需要注意:更新的外面要在主表中对应的字段中要存在,同理插入的时候插入的数据也在主表中存在,做删除的时候主键删了之后外键引用的从表也要对应删了。

猜你喜欢

转载自blog.csdn.net/weixin_42442847/article/details/81115311
今日推荐