首页 > 解决方案 > 如何将一行添加到mysql中的多个表中?

问题描述

有没有办法将一行添加到 mysql 中等待继承的多个表中?例如,客户和管理员是类型用户。当我插入客户/管理员时如何制作它,它也会添加到用户中?

标签: mysqldatabase

解决方案


MySQL 不直接支持继承。外键用于模仿面向对象的设计。实现您想要的一种方法是在两个单独的查询中手动将同一行添加到两个不同的表(用户和客户)。

如果您想自动插入用户,您可以编写一个触发器来将该行添加到用户中:

create trigger ins_user after insert on customer
for each row
begin
insert into user values (new.customer_id, new.name, ...);
end;

注意。Postgresql 支持继承并具有您想要的行为。一张表可以继承另一张表。并且一旦您向子表添加一行,父表的查询也将包含其所有子表中的行。


推荐阅读