我试图更新我的桌子。我的问题是
'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。
答案 0 :(得分:0)
如果您在桌面上有触发器,则可能会发生这种情况。 - Gordon Linoff 19分钟前
就是这样,触发器被隐藏了,我不知道他们在那里。错误消息也没有用。
谢谢,Gordon Linoff!