当前位置:  开发笔记 > 后端 > 正文

MySQL存储过程中是否有任何列表数据类型,或者是模拟它们的方法?

如何解决《MySQL存储过程中是否有任何列表数据类型,或者是模拟它们的方法?》经验,为你挑选了1个好方法。

我想在MySQL中创建一个以列表作为参数的存储过程.例如,假设我希望能够在一次调用中为项目设置多个标签,那么我想要做的是定义一个过程,该过程接受项目的ID和要设置的标签列表.但是,我似乎无法找到任何方法来做到这一点,据我所知,没有列表数据类型,但可以以某种方式进行模拟吗?标签列表是否可以是逗号分隔的字符串,可以以某种方式拆分和循环?

你如何处理MySQL存储过程中的列表?



1> roo..:

该文章对解析阵列存储过程的问题的一些很好的讨论,因为存储过程只允许有效的表列数据类型作为参数.

你可以用mysql中的csv表类型做一些巧妙的事情- 也就是你要将一个平面文件加载到db中.

您可以在存储过程中创建临时表,迭代csv列表并将其插入临时表,然后创建一个光标,从该表中选择值.这个答案在上面提到的线索表明这样做的方式.

通常我会在进入数据库之前拆分数组,然后在每个项目上单独执行查询.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有