【问题标题】:Error 1054 in UPDATE command in MySQL 5.6MySQL 5.6 中的 UPDATE 命令中的错误 1054
【发布时间】:2015-07-05 07:27:44
【问题描述】:

每次我尝试更新表时都会收到 1054 错误。这里是命令行客户端中的转录:

mysql>UPDATE Produtos SET prdNome = 'TESTE' WHERE prdCodigo=3;
      ERROR 1054 (42S22): Unknown column 'prdCodigo' in 'where clause'

当 where 子句中使用的值存在于表中时会发生此错误。 如果我输入一个不存在的值,则没有错误,如下所示:

mysql>UPDATE Produtos SET prdNome = 'TESTE' WHERE prdCodigo=0;
      Query OK, 0 rows affected (0.00 sec)
      Rows matched: 0  Changed: 0  Warnings: 0

我做错了什么?

表创建如下,没有触发器。

CREATE TABLE `produtos` (
  `prdCodigo` int(11) NOT NULL AUTO_INCREMENT,
  `prdNome` varchar(255) DEFAULT NULL,
  `prdCompra` float DEFAULT NULL,
  `prdVenda` float DEFAULT NULL,
  `prdEstoque` int(11) DEFAULT NULL,
  PRIMARY KEY (`prdCodigo`) USING BTREE,
  KEY `IX_NomeProdutos` (`prdNome`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

【问题讨论】:

  • 您是否在SQLFiddle 中尝试过此操作,是否遇到同样的错误?
  • 刚刚做到了。完全没有错误。
  • 您能否包含“SHOW CREATE TABLE Produtos”的结果以及您可能在此表上使用的任何触发器的详细信息?
  • 其实是有一个触发器导致了这个问题。谢谢@HorusKol!

标签: mysql mysql-error-1054


【解决方案1】:

您的代码很好。确保您的表中存在列 prdCodigo。还要检查拼写。

【讨论】:

    猜你喜欢
    • 2016-11-22
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 2017-04-07
    • 2018-06-22
    • 1970-01-01
    相关资源
    最近更新 更多