当前位置: 首页 > 面试题库 >

如何从表名称为变量的MySQL中选择

钱华晖
2023-03-14
问题内容

我有一种情况,从中获取表名应该是从一个设置变量:

SET @ID_1 = (SELECT ID FROM `slider` LIMIT 0,1);
SET @Cat = (SELECT Category FROM `slider` LIMIT 0,1);
select * from @Cat where ID = @ID_1

但是这样做会导致MySQL输出错误,所以有人可以向我展示如何实现这一点,因为这是我在MySQL中的基本步骤。


问题答案:

您必须使用准备好的语句来执行此操作。就像是:

SET @s = CONCAT('select * from ', @Cat, ' where ID = ', @ID_1);

PREPARE stmt1 FROM @s; 
EXECUTE stmt1; 
DEALLOCATE PREPARE stmt1;


 类似资料:
  • 问题内容: 我正在尝试编写一个简单的存储过程,该过程需要三个参数“数据库名称一”,“数据库名称二”和“表名称”。然后,sql将对每个数据库中定义的表执行行计数并将其存储。 零星地处理它,我遇到了第一个问题,即您做不到 我知道您可以在命令中使用动态sql,但这并不理想,因为我无法返回值。 下面的示例看起来像它应该工作,但是不起作用。 给出的错误信息是 当前正在使用SQL Server 2008 SP

  • 问题内容: 我需要帮助为具有较长实际名称的变量选择适当的名称。我已经阅读了pep8文档,但找不到解决此类问题的方法。 您将重命名为类似名称还是将其保留原样。我注意到库中构建的python的名称非常短,如果这种情况存在,我想遵循约定。 我知道我可以给它起一个不太具描述性的名称,并添加描述,这可以解释其含义,但是您认为变量名称应该是什么。 问题答案: PEP8建议使用简短的变量名,但是要做到这一点需要

  • 问题内容: 我正在尝试创建一个BMI计算器。这应该允许人们使用公制或英制。 我意识到我可以使用隐藏标签来解决问题,但是以前这使我很头疼,所以我想问一下:我可以用来查找提交的variableName字段值;但是…我不知道,也不知道如何验证 用于 提交变量的表单。 我的代码如下(尽管我不确定它是否与问题严格相关): 我通过metric验证了它的有效性(尽管目前尚无验证-我不想让我的问题太多)。我已经添

  • 问题内容: 我有这样的桌子 和包含年和月行的表 如何从的更改中选择 ? 我输入这个查询 #1064-您的SQL语法有误;检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在第1行的’SELECT CONCAT(’changes’,year,month)FROM changes)’附近使用 问题答案: 您打开1 并关闭2 。删除最后一个: 编辑 第二个语句应该是 那行得通,但是不确定那是否

  • 问题内容: 问题:是否可以在不使用字符串构造函数的情况下将变量用作表名? 信息: 我现在正在研究一个项目,该项目对来自我的恒星模拟的数据进行分类。为此,我将所有数据加载到sqlite数据库中。它工作得很好,但是我决定为数据库增加更多的灵活性,效率和可用性。我计划稍后在模拟中添加小行星,并希望为每个恒星提供一张表格。这样,我就不必查询每个太阳系中1-4k的20m个小行星的表。 有人告诉我使用字符串构

  • 问题内容: 是否可以选择名称为字符串的字段? 我需要这个来让触发器具有像这样的动态字段名称 问题答案: 如果该字符串在您的外部应用程序(如PHP)中,请确保构造MySQL语句。 如果字符串在MySQL表中,则不能。MySQL没有或没有这样的功能。以下是不可能的: 假设您有一个表,其中的字段引用该表中的列名之一。可能会有其他列允许您选择所需的列。 但是,您可以使用PREPARED STATEMENT