c# 更改了其中一个表的字段后,怎样才能把更改的数据也影响到其他表?
有两张表,一个是员工表,另外一个是车辆表,它们都有相同的字段(员工姓名),但是员工姓名既不是它们的主键也不是外键,当更新员工表的员工姓名字段之后,怎样才能使车辆表的员工姓...
有两张表,一个是员工表,另外一个是车辆表,它们都有相同的字段(员工姓名),但是员工姓名既不是它们的主键也不是外键,当更新员工表的员工姓名字段之后,怎样才能使车辆表的员工姓名也相应得到更新呢?
展开
3个回答
展开全部
我觉得你的设计不太合理,你没有考虑到同名的情况吧,如果有2个员工叫 张三,第一个张三往车辆表插入了一条记录,接着第二个张三也插入了一条记录,你如何区分这两条记录对应哪个张三?
1种方法就是把员工ID也存到车辆表中这样你就能解决 一人有多个车的情况实现(1:N);这样查询起来很方便;
2.就是员工表中有一个字段里边可以记录多条车辆表的ID,但这种方法比较变态,不够灵活;
所以推荐你在车辆表中添加一个员工表ID的字段吧,这样就很容易关联起来了。只需要找到和张三有关的有几条记录,去修改它还是比较容易的;如果把这些逻辑写成一个存储过程就更好了。
1种方法就是把员工ID也存到车辆表中这样你就能解决 一人有多个车的情况实现(1:N);这样查询起来很方便;
2.就是员工表中有一个字段里边可以记录多条车辆表的ID,但这种方法比较变态,不够灵活;
所以推荐你在车辆表中添加一个员工表ID的字段吧,这样就很容易关联起来了。只需要找到和张三有关的有几条记录,去修改它还是比较容易的;如果把这些逻辑写成一个存储过程就更好了。
展开全部
用触发器来实现:
在员工表的“员工姓名”字段上创建更新触发器,当员工表的“员工姓名”被更新时,自动修改车辆表中相应的“员工姓名”。
但是这样并不好,因为
扩展性降低
员工姓名可能重复
推荐的方法是改变表结构(如果表中没有大量的数据,或者只是普通的练习)
在员工表中增加一个“员工ID”列,设为主键,自增
在车辆表中引用员工表中的“员工ID”设为外键,这样,无论你怎么修改“员工姓名”,车辆表都不会受影响了。
追问
呵呵呵,谢谢大家,我已经解决了,只是不知道分给谁。
追答
没关系,问题解决了就行,很高兴可以帮到你
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有任何关联如何更改呢,设计存在问题,你最好在两个中同时添加用户ID的字段,用作关联字段,这样才能实现同时更新
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询