mysql - 动态 MySQL 过程不工作

标签 mysql sql stored-procedures dynamic-sql

Delimiter //
CREATE Procedure SearchTest(IN FieldName varchar(30),IN FieldValue varchar(30))
BEGIN
  SET @query = CONCAT('select count(*) from Some_table_name where ', FieldName,'=',FieldValue);
  PREPARE stmt FROM @query;

  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;

END //
Delimiter ;
<小时/>
mysql> call SearchTest('accession_no','L138362194');
ERROR 1054 (42S22): Unknown column 'L138362194' in 'where clause'

最佳答案

您的数据库表没有列L138362194。 您可以通过添加此类列或选择现有的列来解决此问题。

关于mysql - 动态 MySQL 过程不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18956650/

相关文章:

mysql - 从表中选择值作为新列

MySQL 错误代码 : 1064 Stored Procedure Syntax Error near END END

c# - SQL 服务器 : insert stored procedure with dynamic table name

c# - 存储过程不返回 int 值

php - MYSQL非重复列行对查询

C# mysql连接实践

mysql - 忽略 COUNT 中的重复行

php - 左连接mysql与三个表

sql - 从表中选择在第二个表中没有相关条目的行

sql - 如何在多列的唯一索引中允许一列为 NULL 值