У меня есть MySQL 5.5 Trigger, который не работает из-за возврата нескольких результатов. Проблема в том, что я пытаюсь вернуть один результат за раз, используя поле «id» для уникального поля.MySQL Trigger возвращает несколько строк
CREATE TRIGGER insert_com_app_title AFTER INSERT
ON com_apps FOR EACH ROW
INSERT IGNORE INTO com_myisam_app_titles(id_company, title) VALUES((SELECT a.id_company, b.title FROM com_apps a JOIN epf_application b ON a.application_id = b.application_id WHERE NEW.id = a.id));
The (соответствующая) структура таблицы выглядит следующим образом:
**com_apps**
id, id_company, application_id
**com_myisam_app_titles**
id_company, title
**epf_application**
application_id, title
Я предполагаю, что что-то не так с New.ID, однако, даже если значение неверно поле идентификатор com_apps является ПЕРВИЧНЫЙ автоинкрементный ключ, поэтому даже в этом случае я вернул бы один неверный результат.
Так что вопрос, казалось, нестинг SELECT, в заявлении VALUES. Первая часть вашего ответа разрешила проблему. Не было ничего плохого в возвращении нескольких результатов, так как a.id гарантированно будет уникальным и будет возвращен только 1 результат. Сообщение об ошибке или моя интерпретация - это то, что было отключено. Спасибо за помощь! – user387049