gpt4 book ai didi

mysql - MySQL写动态查询出错

转载 作者:行者123 更新时间:2023-11-30 01:37:58 24 4
gpt4 key购买 nike

我是 RDBMS 的新手,我想从五个表之一中获取一行,表的名称是另一个表的一个字段的值。因此,我尝试将一个查询中的值存储在一个变量中,然后在名称存储在变量中的表中再次使用该值查询。我正在 MySQL 中编写查询。我遇到语法错误。

这是我正在编写的查询语句。

DECLARE @vcTemp VARCHAR(40)
SELECT unit_test_result.*, @vcTemp = unit_test.name
FROM unit_test_result, unit_test
WHERE unit_test_result.test_run_id = 3 && unit_test.id = unit_test_result.unit_test_id
SELECT @vcTemp.* FROM @vcTemp

但我收到以下错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @vcTemp VARCHAR(40) SELECT unit_test_result.*, @vcTemp = unit_test.name ' at line 1

有人可以帮我解决语法问题吗?谢谢。

最佳答案

SQL 不支持动态表名称。如果这些查询由其他语言的程序(即 PHP 脚本)运行,那么最简单的事情就是执行两个查询 - 一个获取表名称,另一个获取实际数据。

不过,如果您仅限于使用 MySQL,那么使用存储过程可以做您想做的事情。这是一个示例:http://forums.mysql.com/read.php?98,126506,126598#msg-126598

关于mysql - MySQL写动态查询出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594667/

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