Mysql
 sql >> Database >  >> RDS >> Mysql

Colonna sconosciuta "x" in "clausola where"

Anche se ho indicato quale potrebbe essere l'errore nel tuo codice sql, vorrei fornire maggiori dettagli al riguardo.

That Stored Procedure Runing at MySql WithOut any problems but when send Delphi parameters to sp , i get that Error !! Ma ti sbagli.

Esiste a known bug nella creazione della tua procedura. A causa del motivo è stata sollevata un'eccezione di runtime .
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.

Un esempio di test standard è quello mostrato di seguito:

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)

Qui puoi capire quella compilazione della procedura ignorata in quale current day è.

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

Con questo dovresti capire che That Stored Procedure Runing at MySql WithOut any problems ... non è corretto.

Una rapida soluzione alla tua domanda risolverà il problema. Hai menzionato che I defined input parameters with _ prefix. I don't know waht i must do ! . Se è vero, allora
cambia

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

a

SELECT * FROM bimar WHERE `code_ehda_konandeh` = _code_ehda_konandeh

e dovrebbe funzionare. Qui ho assunto code_ehda_konandeh è una colonna della tabella bimar anche.