0

如何在 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;

我怎样才能做到这一点 ?

4

1 回答 1

4

计划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;
于 2012-05-22T06:37:21.047 回答