Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cột 'x' không xác định trong 'mệnh đề where'

Mặc dù tôi đã chỉ ra lỗi có thể là gì trong mã sql của bạn, nhưng tôi muốn cung cấp thêm chi tiết về nó.

That Stored Procedure Runing at MySql WithOut any problems but when send Delphi parameters to sp , i get that Error !! Nhưng bạn đã nhầm.

a known bug trong quá trình tạo thủ tục của bạn. Vì lý do mà một ngoại lệ thời gian chạy đã được đưa ra .
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.

Một ví dụ kiểm tra tiêu chuẩn như được hiển thị bên dưới:

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)

Ở đây bạn có thể hiểu rằng quá trình biên dịch thủ tục bị bỏ qua vào current day gì là.

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

Với điều này, bạn nên hiểu rằng That Stored Procedure Runing at MySql WithOut any problems ... không đúng.

Một bản sửa lỗi nhanh chóng cho truy vấn của bạn sẽ giải quyết được sự cố. Bạn đã đề cập rằng I defined input parameters with _ prefix. I don't know waht i must do ! . Nếu điều đó là đúng, thì
thay đổi

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

đến

SELECT * FROM bimar WHERE `code_ehda_konandeh` = _code_ehda_konandeh

và nó sẽ hoạt động. Ở đây tôi giả định là code_ehda_konandeh là một cột của bảng bimar quá.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android - Truy vấn mySQL JSON cung cấp cho NetworkOnMainThreadException

  2. PHP / MYSQL chỉ cho phép một phiếu bầu cho mỗi thành viên?

  3. Thay dấu phẩy bằng dòng mới và ghi vào tệp văn bản

  4. Lưu vào bộ đệm với PHP để giảm bớt căng thẳng với MySQL

  5. Chuyển một danh sách vào thủ tục lưu trữ MySQL và kiểm tra TẤT CẢ các giá trị hiện có