mysql - 如何将一行添加到mysql中的多个表中?
问题描述
有没有办法将一行添加到 mysql 中等待继承的多个表中?例如,客户和管理员是类型用户。当我插入客户/管理员时如何制作它,它也会添加到用户中?
解决方案
MySQL 不直接支持继承。外键用于模仿面向对象的设计。实现您想要的一种方法是在两个单独的查询中手动将同一行添加到两个不同的表(用户和客户)。
如果您想自动插入用户,您可以编写一个触发器来将该行添加到用户中:
create trigger ins_user after insert on customer
for each row
begin
insert into user values (new.customer_id, new.name, ...);
end;
注意。Postgresql 支持继承并具有您想要的行为。一张表可以继承另一张表。并且一旦您向子表添加一行,父表的查询也将包含其所有子表中的行。
推荐阅读
- azure-devops - Azure Devops 中的 Sprint Burndown/Burnups
- javascript - 使用外部函数处理 Ajax 数据会导致错误
- java - Hibernate Search + Elasticsearch - 删除连续重复字符
- delphi - 使用 dbgrid 的透明颜色
- c# - 将 id_token 与 ASP.NET Core 3 一起使用
- spring - @EnableAutoConfiguration 与 @SpringBootConfiguration 之间的区别(@AutoConfigurationPackage 与 @Configuration)
- html - Angular 8显示图像src存储为变量中的ng模型
- python - Can I combine chain and group without a results backend?
- stimulsoft - Stimulsoft 报告查看器 JS 禁用工具栏上的控件(不是隐藏按钮)
- javascript - axios post方法刷新页面