gpt4 book ai didi

sql - 使用局部变量的 SELECT INTO 问题

转载 作者:行者123 更新时间:2023-11-29 05:46:54 25 4
gpt4 key购买 nike

我需要创建一个 SQL 查询,以根据对局部变量的 SELECT 查询结果将一些数据插入表中。我的数据库平台是 MySQL 5.1,但我认为这不会有什么不同。基本上,我想做的是:

SELECT id INTO var_name FROM table1 WHERE some_column='something' LIMIT 1;
INSERT INTO table2 (`number`) VALUES (@var_name);

不过,我无法通过第一个语句,因为我收到错误“未声明的变量 var_name”。我也试过将语句放在 BEGIN/END block 和存储过程中,但后来我遇到其他错误,这些错误仅说明 SELECT 行上有错误。我做错了什么?

最佳答案

您需要声明@var_name,然后选择进入@var_name。我不太了解 MySQL,但请尝试这样的操作:

declare @var_name varchar(100);
SELECT id INTO @var_name FROM table1 WHERE some_column='something' LIMIT 1;
INSERT INTO table2 (`number`) VALUES (@var_name);

编辑:也许是更好的方法:

insert into table2 ('number')
select id
from table1
where some_column = 'something' LIMIT 1;

这消除了对变量的需求,并且会更快更容易理解。

关于sql - 使用局部变量的 SELECT INTO 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/472936/

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