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ステートメントを実行するストアドプロシージャを記述します。
次のプラン:
'exp'値からINSERTステートメント文字列を作成し、プリペアドステートメントを使用してステートメントを実行します。
例:
文字列があるとします-'リンゴ、チェリー、イチゴ'。このような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;