我想创建一个大表的小副本,并链接它们。每次我更新一个大的,我希望小的也更新。例如,我有以下数据:
大table:
id | name | price
1 | a | 10
2 | b | 12
小table:
id | name
1 | a
2 | b
----更新较大的一个---大表:
id | name | price
1 | y | 10
2 | b | 12
3 | c | 13
小表应自动变为(更新大表后):
id | name
1 | y
2 | b
3 | c
你知道怎么做吗?
1条答案
按热度按时间w80xi6nr1#
要做到你所要求的,你可以使用触发器。触发器是在某些事件发生时自动执行的sql。要镜像数据,需要创建update、insert和delete触发器(我目前无法访问mysql示例进行测试,因此可能会出现输入错误)
但是,如果“小”表实际上只是包含数据子集的大表,那么视图可能是更好的选择。视图不会存储数据的副本,因此如果更新表(大),它将反映在视图(小)中,但情况正好相反。如果在视图(小)上执行插入、更新或删除操作,它将实际发生在表(大)中。