Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql '中的未知列;存储过程中的字段列表_Mysql_Sql_Stored Procedures_Prepared Statement - Fatal编程技术网

Mysql '中的未知列;存储过程中的字段列表

Mysql '中的未知列;存储过程中的字段列表,mysql,sql,stored-procedures,prepared-statement,Mysql,Sql,Stored Procedures,Prepared Statement,我正在创建一个存储过程,但字段名有问题。。。当我运行该过程时,在“字段列表”中有一个未知列“pa”,但我不明白为什么 CREATE PROCEDURE `deletePost`(IN p_id_post INT, IN p_Tbl_ref CHAR(2)) BEGIN SET @id_post = p_id_post; SET @Tbl_ref = p_Tbl_ref; DELETE FROM `tbl` WHERE tbl_ref_product = @Tbl_ref AND id_ta

我正在创建一个存储过程,但字段名有问题。。。当我运行该过程时,在“字段列表”中有一个未知列“pa”,但我不明白为什么

CREATE PROCEDURE `deletePost`(IN p_id_post INT, IN p_Tbl_ref CHAR(2))
BEGIN

SET @id_post = p_id_post; 
SET @Tbl_ref = p_Tbl_ref;

DELETE FROM `tbl` WHERE tbl_ref_product = @Tbl_ref AND id_table = @id_post;

END
我也试过准备好的声明

CREATE PROCEDURE `deletePost`(IN p_id_post INT, IN p_Tbl_ref CHAR(2))
BEGIN

PREPARE STMT FROM 
"DELETE FROM `tbl` WHERE tbl_ref_product = ? AND id_table = @id_post";

SET @id_post = p_id_post; 
SET @Tbl_ref = p_Tbl_ref;

EXECUTE STMT USING @Tbl_ref;
DEALLOCATE PREPARE STMT;

END

。。。但同样的结果。。。有什么想法吗?非常感谢

您正在delete语句中将列名用作表。由于表是在sql中预定义的,所以它会给您带来错误。 请尝试以下代码

`CREATE PROCEDURE deletePost(IN p_id_post INT, IN p_Tbl_ref CHAR(2))
BEGIN

SET @id_post = p_id_post; 
SET @Tbl_ref = p_Tbl_ref;

DELETE FROM `tbl` WHERE [table] = @Tbl_ref AND id_table = @id_post;

END`

根据程序定义,您所描述的问题完全没有意义,因此,如果您听到蹄子的声音,并且确定不是马,您可能需要检查斑马:

尝试
显示触发器


下一个可能的原因是该过程实际上工作正常,但是表
tbl
定义了一个
删除前
删除后
触发器,并且该触发器有一个设计错误,引用了p\u tbl\u ref CHAR(2)中不存在的列“pa”。

”可能该表被称为类似“pa%”的名称不,我也尝试手动使用“pa”,结果相同…:/不,我的真实列名不是table,而是tbl_ref_product,这不是问题所在…:/我知道这是一个触发器,但我不知道如何找出它是什么触发器。这几乎立刻解决了我的问题,谢谢!