gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 17:47:00 26 4
gpt4 key购买 nike

我正在尝试更新我的表格。我的查询是

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

with params [1, "15", 17408]

该查询来自 Symfony/Doctrine。但我已经尝试过许多变体,该错误不仅仅是拼写错误或语法错误。无论我如何将sql输入数据库都会发生这种情况,这与数据库的结构有关。

我总是收到错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'MainOrderId' in 'where clause'

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

我的数据库到底是怎么改变这个查询的?

这是我的服务器信息:

MySQL服务器:通过 UNIX 套接字的本地主机服务器版本:5.5.59Protokoll 版本:10贝努策:MySQL-Zeichensatz:UTF-8 Unicode (utf8)

Apache MySQL 客户端版本:mysqlnd 5.0.11-dev - 20120503 - $Id:$PHP 版本:mysql

我的代码非常简单:

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

我在实体中没有关系,也没有定义更新后或类似的触发器。相关实体没有 MainOrderId,只有未连接到所操作对象的其他实体。

如果我使用手动 SQL 查询,也会发生同样的情况 - 对 id 的任何引用都将更改为 MainOrderId。

最佳答案

如果 table 上有触发器,则可能会发生这种情况。 – 戈登·利诺夫 19 分钟前

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

谢谢戈登·利诺夫!

关于mysql - 不在查询中的列的更新语句中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49732778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com