gpt4 book ai didi

mysql - SQL : Running select statement for local string variable

转载 作者:行者123 更新时间:2023-11-29 14:19:32 26 4
gpt4 key购买 nike

这是我在本地字符串上运行SQL select语句的情况。如果我对表运行正常的选择查询,那么它就可以工作。

select * from tablesname 

但是如果我有以下情况:

declare @string nvarchar(400)

set @string = N'from tablesname'

现在,如果我运行 select * from @string ,它不会按预期工作。

请建议我解决此问题,因为我只想以这种方式运行 select 语句。如果我应该尝试其他方法,请建议我。

谢谢,陶西夫。

最佳答案

假设您正在使用 MySQL,因为您的问题被标记为 MySQL,尽管此 set @string = N'from tablename' 表明您正在使用 MS SQL Server 或其他东西:

SET @yourDynamicTablename = 'yourTable';
SET @sql = CONCAT('SELECT * FROM ', @yourDynamicTablename );
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

您可能想将其放入存储过程中。

您的尝试无效,因为您无法从字符串中进行选择。要进一步阅读有关准备好的语句(这对于避免 SQL 注入(inject)攻击也很有用),请查看 manual .

关于mysql - SQL : Running select statement for local string variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11982501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com