Триггер MySQL при ВСТАВКЕ не работает должным образом

#mysql

#mysql — сервер #mysql

Вопрос:

У меня есть простой триггер MySQL при ВСТАВКЕ. Я протестировал это в MySQL Workbench, и это работает.

 use `my database`;
DROP TRIGGER if exists after_tablea_insert;
DELIMITER $$
CREATE TRIGGER after_tablea_insert
AFTER INSERT
ON `my_table` FOR EACH ROW
BEGIN
    insert into my_new_table (columnA,columnB,columnC,columnD) values(new.columnA,
       new.columnB,
       new.columnC,
       new.columnD);
END$$
  

Однако, когда новые данные вставляются в my_table с помощью внешнего канала данных, триггер вставляет только новые данные в my_table из columnA в my_new_table. ColumnB, ColumnC и ColumnD в my_new_table задаются как null.

Есть идеи, почему это может быть так?

База данных MySQL размещена в Google Cloud SQL. Это версия 5.7 в соответствии с требованиями Google Cloud SQL.

Типы данных: my_table columnA = char(36) PK, ColumnB-D = текст; my_new_table ColumnsA-D = текст

Комментарии:

1. Можете ли вы создать sqlfiddle, чтобы показать вашу проблему, потому что я не могу ее воспроизвести

2. Если это работает в workbench, то проблема в вашем канале. Для чего {text}??

3. @P.Salmon {текст} это для обозначения типа данных для каждого столбца. Не уверен, что это правильная практика писать как таковая, хотя

4. Похоже на опечатку в названиях столбцов. Покажите РЕАЛЬНУЮ структуру для обеих таблиц и РЕАЛЬНЫЙ код триггера.

5. «Не уверен, что писать как таковой является правильной практикой» — это не так и служит только для отвлечения