Mysql 错误代码:1054。“where子句”中的未知列

Mysql 错误代码:1054。“where子句”中的未知列,mysql,stored-procedures,Mysql,Stored Procedures,我不知道下面的存储过程中出现了什么问题: CREATE PROCEDURE `GetDataByColNameByTime `( IN Col_Name VARCHAR(50), IN DateStart VARCHAR(50), IN DateEnd VARCHAR(50) ) BEGIN SET @sqlx = CONCAT ('SELECT ', Col_Name , ' , SAMPLE_TIME FROM indicator_data_history I

我不知道下面的存储过程中出现了什么问题:

CREATE PROCEDURE `GetDataByColNameByTime 
`(
 IN Col_Name VARCHAR(50), 
 IN DateStart VARCHAR(50), IN DateEnd VARCHAR(50) )
 BEGIN 
 SET @sqlx = 
 CONCAT
 ('SELECT ',  Col_Name , ' ,  SAMPLE_TIME  FROM indicator_data_history I 
 WHERE ( I.SAMPLE_TIME >= `2014-04-04 11:47:57` )  
 AND ( I.SAMPLE_TIME <= `2014-04-04 11:33:57` ) 
 order by SAMPLE_TIME');
 PREPARE stmtx FROM @sqlx; 
 EXECUTE stmtx;
如果用一个简单的语句编写,我可以进行类似的查询:

SELECT RT ,  SAMPLE_TIME  FROM indicator_data_history I WHERE ( I.SAMPLE_TIME >= '2014-04-04 11:47:57' )  AND ( I.SAMPLE_TIME <= '2014-04-04 11:33:57' ) ;

经过分析,引号似乎是问题所在2014-04-04 11:33:57-知道如何解决这个问题吗?

反勾号用于列和表名。“单引号”用于字符串。例如,这是无效的:

I.SAMPLE_TIME >= `2014-04-04 11:47:57`
这是有效的:

I.SAMPLE_TIME >= '2014-04-04 11:47:57'

@D.Kasipovic,问题是你如何在字符串中添加引号,因为我做了你建议的事情,出现了语法错误Hanks D.Kasipovic感谢你的及时回复你确实让我无法找到解决方案。@user3506769你能把上面的答案标记为最佳答案吗?