不在查询中的列的更新语句中的未知列

时间:2018-04-09 12:16:06

标签: mysql sql

我试图更新我的桌子。我的问题是

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

with params [1, "15", 17408]

该查询来自Symfony / Doctrine。但是我已经尝试了很多变体,错误是只是一个拼写错误或语法错误。无论我如何将sql输入数据库,它都会发生,它与数据库的结构有关。

我总是得到错误:

  

SQLSTATE [42S22]:未找到列:1054未知列' MainOrderId'   在' where子句'

现在奇怪的是 - 我从未指定过MainOrderId。我指定了id,该列存在且是正确的。

我的数据库如何更改该查询?

这是我的服务器信息:

的MySQL 服务器:通过UNIX套接字的Localhost 服务器版本:5.5.59 Protokoll版本:10 Benutzer: MySQL-Zeichensatz:UTF-8 Unicode(utf8)

阿帕奇 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 个答案:

答案 0 :(得分:0)

如果您在桌面上有触发器,则可能会发生这种情况。 - Gordon Linoff 19分钟前

就是这样,触发器被隐藏了,我不知道他们在那里。错误消息也没有用。

谢谢,Gordon Linoff!