Как обновить столбец одной таблицы при редактировании другой?

0

У меня есть одна таблица со столбцами, состоящими из идентификатора, имени, описания и подсчета. Каждая строка в этой таблице имеет имя, соответствующее другой таблице.

Например, одна из моих строк имеет название "карцинома". Существует еще одна таблица, которая называется "карцинома".

Я хотел бы, чтобы количество столбцов первой таблицы обновлялось каждый раз, когда в строку добавляется столбец "карцинома". Например, если таблица "карцинома" имеет 4 строки, я хочу, чтобы столбец count в первой таблице имел значение 4 для карциномы. Есть ли способ автоматического обновления столбца подсчета при вставке или удалении строки из второй таблицы?

Первая таблица

Идентификатор имени
1 Карцинома 0

Вторая таблица, названная карциномой

Имя идентификатора
1 Плоская ячейка
2 Adeno
3 Базальная клетка
4 Ductal cell

  • 0
    поделиться образцом таблицы и ее данными, а также таблицей после обновления
  • 0
    Хм, то, что вы хотите сделать, кажется, по крайней мере, сомнительным. Но давайте предположим, что вы подходите к очень особому случаю, когда это разумно. Тем не менее, вы можете подумать об использовании представления вместо таблицы, в которой вы просто получаете count(*) из других таблиц.
Показать ещё 2 комментария
Теги:
mysql-workbench

1 ответ

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 для таблиц.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню