如何在MySQL中将表作为变量输入

问题描述 投票:0回答:1

我正在尝试使用带有MySQL查询的动态过程从表中获取数据。有什么办法可以做到的吗?我正在下面尝试执行此过程,但是变量仍作为列返回。

请参见下面的代码:

DELIMITER $

DROP PROCEDURE IF EXISTS REC_DATA$

CREATE PROCEDURE REC_DATA( IN_TABLE_NAME VARCHAR(20) )

BEGIN

    BEGIN

        SET @in_table = IN_TABLE_NAME;
        SET @sql_stmt = CONCAT(' SELECT student_id FROM ' , @in_table);

        SELECT @sql_stmt;
        PREPARE stmt FROM @sql_stmt;
        EXECUTE stmt;

    END;

END$

DELIMITER ;

我收到此错误:错误:错误1054(42S22):'字段列表'中的未知列'SCORE'

有人可以帮助我吗?谢谢!

mysql dynamic procedure
1个回答
0
投票

如果无法将参数用单引号引起来的话,可以复制此错误。

© www.soinside.com 2019 - 2024. All rights reserved.