编辑另一个表时如何更新一个表的列

时间:2018-08-07 16:42:52

标签: mysql sql mysql-workbench

我有一个表,其中的列由ID,名称,描述和计数组成。该表中的每一行都有一个与另一个表相对应的名称。

例如,我的其中一行是名称“癌”。存在另一个名为“癌”的表。

我希望每次添加“癌”列时都更新第一个表的列数。例如,如果表“ carcinoma”有4行,我希望第一个表中的count列的癌行的值为4。当我从第二个表中插入或删除行时,计数列会自动更新吗?

第一张桌子

ID名称计数
1癌0

名为癌的第二张表

ID名称
1个鳞状细胞
2腺苷
3基底细胞
4导管细胞

1 个答案:

答案 0 :(得分:0)

您需要在每个辅助表上创建一个触发器。例如:

DELIMITER //
CREATE TRIGGER carcinoma_increment AFTER INSERT ON carcinoma
       FOR EACH ROW
BEGIN
    UPDATE firsttable
        SET count = count + 1
        WHERE name = 'Carcinoma';
END;
DELIMITER ;

您可能还希望在表上使用DELETE触发器。