如何在MYSQL中循环逗号分隔的字符串。
这就是我想要的
select exp from expertise where user_name = 'userName';
if exp != null then
LOOP
INSERT into table T1(exp1) VALUES(exp)
UNTIL NO COMMA FOUND
END IF;
我该怎么做?
答案 0 :(得分:3)
计划A:
编写一个解析字符串并运行INSERT语句的存储过程。
B计划:
从'exp'值构建INSERT语句字符串,并使用预准备语句来执行语句。
示例:
假设我们有一个字符串 - 'apple,cherry,strawberry'。我们必须生成这样的INSERT语句 - INSERT INTO table_name VALUES('apple'),('cherry'),('strawberry')
-- build a query
SET @table_name = 'table1';
SET @words = 'apple,cherry,strawberry';
SET @query = CONCAT('INSERT INTO ', @table_name, ' VALUES(\'', REPLACE(@words, ',', '\'),(\''), '\')');
-- run the query
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;