gpt4 book ai didi

mysql - 带存储语句的 Pb

转载 作者:行者123 更新时间:2023-11-29 18:38:40 24 4
gpt4 key购买 nike

我想预先执行查询并将结果存储在@query中:

BEGIN 

DECLARE @query VARCHAR(50);
SET @table = 'top20-img-link';
SET @query = CONCAT('SELECT model FROM ', @table);
PREPARE stmt FROM @query;
EXECUTE stmt;

DROP TABLE IF EXISTS `TABLE1`;
CREATE TABLE `TABLE1`
AS (
SELECT *,
CASE

WHEN (family1='top20-img-link') THEN @query
WHEN (family2='top20-img-link') THEN @query2
WHEN (family2='top20-img-link') THEN @query3
END prod1

等等。

但是我在第 3 行收到语法错误消息。我无法找到适合我需要的示例,所以请帮助我。

最佳答案

如果你将@与变量一起使用,它将作为MySQL中的用户定义变量,因此,“无需声明用户定义的变量。”请删除第一行DECLARE @query VARCHAR(50);

当您使用用户变量时,请记住这一点:

对于 SET=:= 可以用作赋值运算符。

您还可以在 SET 以外的语句中为用户变量赋值。在这种情况下,赋值运算符必须是 := 而不是 =,因为后者在非 SET 语句中被视为比较运算符 =

请引用这两个链接以了解如何使用Local VariablesUser-Variables在 MySQL 中。

关于mysql - 带存储语句的 Pb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45071908/

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