2 whh10010 whh10010 于 2017.01.12 12:01 提问

MySQL外键约束问题,有人知道

create table FRIENDS
(
FNO numeric(2,0) not null,
FQQ numeric(5,0),
FSNO numeric(2,0),
FDATE datetime,
FSTATUS numeric(2,0),
QQ numeric(5,0),
index FSNOIndex(FSNO),
primary key (FNO),
check (fstatus in (1,0))
);

create table SUBGROUP
(
SNO numeric(2,0) not null,
SNAME varchar(20),
SDATE datetime,
QQ numeric(5,0),
primary key (SNO)
);

alter table SUBGROUP add constraint FK_SNO foreign key (SNO)
references FRIENDS (FSNO) ON UPDATE CASCADE ON DELETE RESTRICT;

insert into friends values('1', '2', '0', '2017-01-11 00:00:00', '0', '1'
);
表SUBGROUP添加外键引用的是FRENDS的一个列,为什么FRIENDS插入值时,SUBGROUP为什么对应的列没有更新?

2个回答

JE_GE
JE_GE   2017.01.12 12:58

这个需要你自己更新的

Royal_lr
Royal_lr   Ds   Rxr 2017.01.12 17:21

又不是hibernate,,怎么会自动更新,,你也可以自己写个trigger触发器

Royal_lr
Royal_lr 回复枫~: 不是,,
一年多之前 回复
whh10010
whh10010 父表更新,子表对应的列不是自动更新?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mysql数据库导入外键约束问题
在网站搬迁过程中,很重要一点是数据的迁移。你的数据库可能已经包含了一个设计良好的数据表集合,并且在网站运营过程中,产生了重要的数据。这时你必须做好包含数据表schema以及数据本身的迁移。 完成上述数据库的迁移,最方便的方法是导出和导入。但是问题是,在导入时,由于数据表本身之间的foreign key外键约束,而导致创建数据无法成功。 临时的解决办法是:  mysql> set @@glob
mysql关闭外键约束/启动外键约束/查看外键约束状态的方式
禁用外键约束 SET FOREIGN_KEY_CHECKS=0; 启动外键约束 SET FOREIGN_KEY_CHECKS=1; 查看当前FOREIGN_KEY_CHECKS的值 SELECT  @@FOREIGN_KEY_CHECKS;
关于mysql中外键约束对父表的含义
外键约束对父表的含义:    在父表上进行update/delete以更新或删除在子表中有一条或多条对应匹配行的候选键时,父表的行为取决于:在定义子表的外键时指定的on update/on delete子句, InnoDB支持5种方式, 分列如下       . cascade方式     在父表上update/delete记录时,同步update/delete掉子表的匹配记录     
MySQL外键约束注意事项
MySQL外键约束注意事项 MySQL有两种常用的引擎类型:MyISAM和InnoDB。目前只有InnoDB引擎类型支持外键约束。InnoDB中外键约束定义的语法如下: [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) REFERENCES tbl_name (index_col_name,...
mysql导入数据时的外键约束问题
当导入数据的时候,经常会出现报告外键错误,这是由于table中有外键约束,但导入数据时数据 可能还没完整,所以会出现这样的错误。错误如下图所示:                   这个问题可通过FOREIGN_KEY_CHECKS解决,用法如下:         1、set FOREIGN_KEY_CHECKS=0;    #在导入的脚本命令行最前面设置为不检查外键约束  
关于mysql外键约束不成功的笔记
一. 1.在建表时没有设置ENGINE=InnoDB,所以表的ENGINE默认为MyISAM 2.当我修改了主表和从表的ENGINE都为InnoDB时,(alter table tbl_name ENGINE=InnoDB)但是show create table tbl_name \G时 没发现有CONSTRAINT `itcast_student_ibfk_1` FOREIGN KEY (
mysql 设置外键约束失败
1.确认字段类型,大小是否一致。 2.确认索引类型是否一致 3.其中一个或者两个表是MyISAM引擎的表,若想要使用外键约束,必须是InnoDB引擎,(实际上,如果两个表都是MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键),你可以通过查询浏览器来设置表的引擎类型。 5.你可能设置了ON DELETE SET NULL, 但是相关的键的字段又设置成了NOTS NULL
MySql中主键约束和主表是什么?外键约束是什么?主表和从表又是什么?怎么创建?
想知道主键约束,就需要知道主键是什么。 所谓主键,你可以理解为一个能够标识数据唯一的标志,比如我们设定ID,ID是永远都不能重复的,这就是主键。添加了主键之后,就有了主键约束。比如你的主键是登陆名称,这一列是什么数据类型,是否为自增,等等其他的对这一列的数据规定,全部就成了主键约束。 主表的概念,我们可以理解为在关系中,处于最基础的表,即可理解为主表。比如我设定销售层级关系表,有一
mysql建立外键约束
MySQL创建关联表可以理解为是两个表之间有个外键关系,但这两个表必须满足三个条件 1.两个表必须是InnoDB数据引擎 2.使用在外键关系的域必须为索引型(Index) 3.使用在外键关系的域必须与数据类型相似   例如: 1、建立s_user表 create table s_user(        u_id int auto_increment primary
总结mysql的三种外键约束方式
如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。这里以MySQL为例,总结一下3种外键约束方式的区别和联系。   这里以用户表和用户组表为例,这是一个典型的多对一关系,多个用户对应于一个用户组。   首先创建用户组表