Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kolom 'x' tidak diketahui di 'klausa di mana'

Meskipun saya menunjukkan kesalahan apa yang mungkin terjadi dalam kode sql Anda, saya ingin memberikan detail lebih lanjut tentangnya.

That Stored Procedure Runing at MySql WithOut any problems but when send Delphi parameters to sp , i get that Error !! Tapi Anda salah.

Ada a known bug dalam pembuatan prosedur Anda. Karena alasan pengecualian runtime dimunculkan .
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.

Contoh uji standar adalah seperti yang ditunjukkan di bawah ini:

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)

Di sini Anda dapat memahami bahwa kompilasi prosedur diabaikan pada current day adalah.

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

Dengan ini Anda harus memahami bahwa That Stored Procedure Runing at MySql WithOut any problems ... tidak benar.

Perbaikan cepat untuk kueri Anda akan menyelesaikan masalah. Anda menyebutkan bahwa I defined input parameters with _ prefix. I don't know waht i must do ! . Jika itu benar, maka
ubah

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

untuk

SELECT * FROM bimar WHERE `code_ehda_konandeh` = _code_ehda_konandeh

dan itu harus bekerja. Di sini saya berasumsi code_ehda_konandeh adalah kolom tabel bimar juga.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Komit tunggal saat mengimpor file SQL yang sangat besar (MySQL)

  2. mysql pilih HANYA duplikat catatan dari database

  3. PostgreSQL vs MySQL, sebuah perbandingan

  4. pastikan bahwa hasil metode pengambilan PDO salah adalah kesalahan atau hasil kosong

  5. Mengakses variabel pribadi di PHP ( PDO)