如何在 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;
我怎样才能做到这一点 ?
如何在 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;
我怎样才能做到这一点 ?
计划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;