2017-07-27 69 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');