【发布时间】:2019-11-24 11:59:44
【问题描述】:
我收到一个列表作为 MySQL 5.6 中存储过程的输入,我需要创建一个包含一列 (listOfUsers) 的临时表。列表中的每个项目都必须是该列的自己的行。
到目前为止,我看到的所有答案都显示了在 WHERE 子句中用于过滤查询的列表。我不想过滤任何东西,只是从列表中创建一个包含一列的表。
这可能吗?
【问题讨论】:
标签: mysql
我收到一个列表作为 MySQL 5.6 中存储过程的输入,我需要创建一个包含一列 (listOfUsers) 的临时表。列表中的每个项目都必须是该列的自己的行。
到目前为止,我看到的所有答案都显示了在 WHERE 子句中用于过滤查询的列表。我不想过滤任何东西,只是从列表中创建一个包含一列的表。
这可能吗?
【问题讨论】:
标签: mysql
我将假设示例中的一些细节,我希望我的假设与您的问题相关。假设我们在文件的一行中有一个逗号分隔的列表。然后我们可以这样做:
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", "");
需要最后一次更新才能从最后一列中删除虚假换行符。基于这个想法的东西有望解决您的问题。
如果数据不是来自文件,需要最少应用程序编码的简单解决方案是将数据放在临时文件中,然后应用上述方法。或者,您可以只解析应用程序中的输入,然后构建多行插入。
【讨论】: