【发布时间】:2015-12-11 12:32:19
【问题描述】:
我在使用我的数组作为参数时遇到了问题。我已经内爆了我的数组,因此它将显示带有括号的值,例如,list1 = (1),(2),(3)
BEGIN
CREATE TEMPORARY TABLE tmp (id Int NOT NULL PRIMARY KEY);
INSERT INTO tmp (id) VALUES list1; //wont compile procedure
INSERT INTO tmp (id) VALUES (list1); //compiles however I can't put my array because the parentheses around the parameter ?
select * from tmp
END
Parameter -> Direction = IN, Name = list1, Type = Varchar, Length = 8000, Options=Charset
我不知道我做错了什么,任何帮助将不胜感激
更新:
我认为您不理解我要完成的工作。我在 list1 中有多个值,我试图插入。 list1= (1),(2),(3) 但是编译器只允许我使用带有括号的 list1,即使我已经用必要的括号填充了我的字符串。于是我尝试使用 '1),(2),(3' 但它只输出 1 这是第一个值
我在插入临时表时没有问题,我在使用数组(list1)进行插入时遇到问题......
【问题讨论】:
-
你能给我们展示一个最小而完整的例子吗?这是在存储过程中吗?
list1是如何声明的? -
@RichardSt-Cyr 它是一个 varchar(8000)
-
编辑问题并向我们展示您得到的完整代码和错误
-
-
请提供一个完整且最少的过程来复制问题。
标签: mysql