【发布时间】:2015-12-10 20:39:18
【问题描述】:
在 sql 存储过程中我有变量
IN `table2variables` VARCHAR(5000),
其中包含这样的值:table2variables ="88,61,35"
现在我想像这样在表中插入这些值:
INSERT into table2(id, val) values ([id],"88");
INSERT into table2(id, val) values ([id],"61");
INSERT into table2(id, val) values ([id],"35");
所以问题是我如何从该变量中获取值? INSERT 只写一句话?
【问题讨论】:
-
将字段拆分为单个值,插入单个值。
-
不确定,我们如何实现这一点,table2variables 可以使用逗号分隔符保存任意数量的值。
-
如果字段中的值的数量是固定的,那么使用 substring_index() 会有所帮助。如果这个数字是动态的,那么您必须编写一个存储过程才能仅在 mysql 中执行此操作。用传统的编程语言可能更容易实现。
-
可以给我看个例子吗?
-
@Barmar 感谢您的评论,我没有将“88,61,35”插入一行,我想将每个数字插入行。(这里将是 3 行),是创建问题?