我正在接收一个列表作为MySQL 5.6中存储过程的输入,并且需要创建一个具有列(listOfUsers
)的临时表。列表中的每个项目都必须是该列各自的行。
到目前为止,我所看到的所有答案都显示了WHERE
子句中用于过滤查询的列表。我不尝试过滤任何内容,仅使用列表中的一列创建表。
这可能吗?
答案 0 :(得分:0)
我将在示例中假设一些细节,希望我的假设与您的问题有关。假设我们在文件的一行上有一个逗号分隔的列表。然后我们可以做:
create table t1 (s varchar(50));
load data local infile '/tmp/file.txt' into table t1
lines terminated by ',';
update t1 set s = replace(s, "\n", "");
需要最后更新才能从最后一列中删除虚假的换行符。基于这个想法的东西有望解决您的问题。
如果数据不是来自文件,则需要最少应用程序编码的简单解决方案是将数据放入临时文件,然后应用上述方法。另外,您可以只解析应用程序中的输入,然后构建多行插入。