sql >> Databasteknik >  >> RDS >> Mysql

Okänd kolumn 'x' i 'where-sats'

Även om jag påpekade vad felet kan vara i din sql-kod, skulle jag vilja ge mer information om det.

That Stored Procedure Runing at MySql WithOut any problems but when send Delphi parameters to sp , i get that Error !! Men du har fel.

Det finns a known bug i din procedurskapande. På grund av anledningen gjordes ett runtime-undantag .
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.

Ett standardtestexempel är som visas nedan:

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)

Här kan du förstå att procedursammanställning ignoreras på vilken current day är.

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

Med detta bör du förstå att That Stored Procedure Runing at MySql WithOut any problems ... är inte korrekt.

En snabb lösning på din fråga kommer att lösa problemet. Du nämnde att I defined input parameters with _ prefix. I don't know waht i must do ! . Om det är sant
ändra

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

till

SELECT * FROM bimar WHERE `code_ehda_konandeh` = _code_ehda_konandeh

och det borde fungera. Här antog jag code_ehda_konandeh är en kolumn i tabellen bimar också.



  1. Finns det något sätt att hämta den första posten i en tabell i databasen med hjälp av SQL-fråga?

  2. välj distinct(datum) returnerar samma datum flera gånger

  3. hur man ansluter till mysql-servern med kommandotolken:fel

  4. MySQLdb Python infoga %d och %s