Неизвестный столбец в операторе обновления для столбца, которого нет в запросе

0

Я пытаюсь обновить таблицу. Мой запрос

'UPDATE mainOrderData SET isInvoiced = ?, invoiceCw = ? WHERE id = ?' 

with params [1, "15", 17408]

Этот запрос принадлежит Symfony/Doctrine. Но я уже пробовал много вариантов этого, ошибка не просто опечатка или синтаксическая ошибка. Это происходит независимо от того, как я передаю sql в базу данных, это как-то связано со структурой базы данных.

Я всегда получаю ошибку:

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец "MainOrderId" в разделе "where"

Теперь любопытно, что я никогда не указывал MainOrderId. Я указал id, и этот столбец существует и является правильным.

Как, черт возьми, моя база данных меняет этот запрос?

Здесь моя информация о сервере:

Сервер MySQL: локальный хост через сокет UNIX Версия сервера: 5.5.59 Протоколл-версия: 10 Benutzer: MySQL-Zeichensatz: UTF-8 Unicode (utf8)

Apache MySQL-Client-Version: mysqlnd 5.0.11-dev - 20120503 - $ Id: $ PHP Erweiterung: mysql

Мой код довольно шаблонный:

$mainOrderData = $em->getRepository(MainOrderData::class)->find($id);
$woche = date("W");
$mainOrderData->isInvoiced = 1;
$mainOrderData->invoiceCw = $woche;
$em->flush();

У меня нет отношений в сущности, и триггеры не появляются или не определены. Объект, о котором идет речь, не имеет функции MainOrderId, а только другие объекты, которые не связаны с объектом.

То же самое происходит, если я использую ручной запрос sql - любая ссылка на id будет изменена на MainOrderId.

  • 1
    показать также код, который вы используете не только резюме ..
  • 1
    Это может произойти, если у вас есть триггер на столе.
Показать ещё 4 комментария
Теги:

1 ответ

0
Лучший ответ

Это может произойти, если у вас есть триггер на столе. - Гордон Линофф 19 минут назад

Вот и все, триггеры были скрыты, и я понятия не имел, что они были там. Сообщение об ошибке тоже не помогло.

Спасибо, Гордон Линофф!

Ещё вопросы

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