sql >> Base de Datos >  >> RDS >> Mysql

Columna desconocida 'x' en 'cláusula where'

Aunque señalé cuál podría ser el error en su código sql, me gustaría dar más detalles al respecto.

That Stored Procedure Runing at MySql WithOut any problems but when send Delphi parameters to sp , i get that Error !! Pero te equivocas.

Hay a known bug en la creación de su procedimiento. Debido al motivo por el que se generó una excepción de tiempo de ejecución .
Semantics of Stored procedure code is not checked at CREATE time. At runtime, undeclared variables are detected, and an error message is generated for each reference to an undeclared variable. However, SP's seem to believe any reference denotes a column, even though the syntactic context excludes that. This leads to a very confusing error message in case the procedure.

A continuación se muestra un ejemplo de prueba estándar:

mysql> drop procedure proc_test;
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter //
mysql> CREATE PROCEDURE proc_test()
    -> BEGIN
    ->     select current_day;
    -> END
    -> //
Query OK, 0 rows affected (0.00 sec)

Aquí puede comprender que la compilación del procedimiento se ignoró en qué current day es.

mysql> delimiter ;
mysql> call proc_test();
ERROR 1054 (42S22): Unknown column 'current_day' in 'field list'
mysql>

Con esto debes entender que That Stored Procedure Runing at MySql WithOut any problems ... no es correcto.

Una solución rápida a su consulta resolverá el problema. Mencionaste que I defined input parameters with _ prefix. I don't know waht i must do ! . Si eso es cierto, entonces
cambiar

SELECT * FROM bimar WHERE `_code_ehda_konandeh` = `code_ehda_konandeh`

a

SELECT * FROM bimar WHERE `code_ehda_konandeh` = _code_ehda_konandeh

y debería estar funcionando. Aquí asumí code_ehda_konandeh es una columna de la tabla bimar también.