2017-07-27 89 views
-3

我被以下问题困住:在mysql中插入逗号分隔的值

我有两个列都是varchar的表'questions'(question_id,answer)。

输入值等(“1,2,3”,“一个,两个,三个”) 我需要为这个插入查询和祝值应插入为:

1 one 
2 two 
3 three 

提前致谢 。

+0

你到目前为止尝试过什么,你能告诉我们你的查询吗? – Nirnae

+1

请更详细地描述表结构,您使用的查询以及您需要帮助的内容。当你已经试图自己解决问题时,你更有可能获得有用的帮助 –

+0

为什么在MySQL中插入逗号分隔值而不是行? – Mjh

回答

1

试试这个按照SQL SERVER

DECLARE @id VARCHAR(50)= '1,2,3', 
@Answer VARCHAR(50)= 'i,know,you', 
@a VARCHAR(50), 
@b VARCHAR(50); 

WHILE LEN(@id) > 0 
    BEGIN 
     SET @a = LEFT(@id, CHARINDEX(',', @id+',')-1); 
     SET @b = LEFT(@Answer, CHARINDEX(',', @Answer+',')-1); 

     INSERT INTO #temp 
     VALUES 
     (@a, 
     @b 
     ); 

     SET @id = STUFF(@id, 1, CHARINDEX(',', @id+','), ''); 
     SET @Answer = STUFF(@Answer, 1, CHARINDEX(',', @Answer+','), ''); 
    END; 
SELECT * 
FROM #temp; 
DROP TABLE #temp; 
0

这是正常的INSERT语句。

INSERT INTO questions (question_id,answer) VALUES ('1', 'one'); 
INSERT INTO questions (question_id,answer) VALUES ('2', 'two'); 
INSERT INTO questions (question_id,answer) VALUES ('3', 'three');