mysql - 字段列表错误 - 未知列

标签 mysql stored-procedures

我有这个存储过程:

DROP PROCEDURE IF EXISTS buildMySomething;
CREATE PROCEDURE buildMySomething() 
BEGIN
      UPDATE current_amount SET current_m_amount = 2 WHERE m_id = 1; 
END //

这给了我以下错误:错误1054(42S22):“字段列表”中不知道列“current_m_amount”

在互联网上浏览后,我发现,如果列不存在、意外字符或仅仅是语法错误(他们输入了错误的列名称),人们就会收到此错误......但是。 ..我已经无数次检查过这些可能性。我在这里缺少什么?

+--------------------+---------+------+-----+---------+----------------+
| Field              | Type    | Null | Key | Default | Extra          |
+--------------------+---------+------+-----+---------+----------------+
| m_id               | int(11) | NO   | PRI | NULL    | auto_increment |
| current_m_amount   | int(11) | NO   |     | NULL    |                |
+--------------------+---------+------+-----+---------+----------------+

最佳答案

我认为这可能与使用的分隔符有关。试试这个,它在我的测试服务器上执行:

DROP PROCEDURE IF EXISTS buildMySomething;
delimiter //

CREATE PROCEDURE buildMySomething() 
BEGIN
      UPDATE current_amount SET current_m_amount = 2 WHERE m_id = 1; 
END //
delimiter ;

关于mysql - 字段列表错误 - 未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19532784/

相关文章:

sql-server - 如何获取存储过程来调用同一 SQL 服务器上的外部数据库?

带有 IN 子句参数的 Oracle 存储过程

mysql - 优化mysql中的队列

PHP 检查事件是否已经开始

php - 执行 PHP 端锁定时如何选择锁定名称

stored-procedures - 计算部分和的 MySQL 查询

mysql - 如何优化下面使用三级 select 语句的查询?

php - 如何在 php 中完成验证?

c# - 回滚后ExecuteNonQuery的返回值

java - 偏移量 1 处的格式错误的函数或过程转义语法