2014-06-23 96 views
0

我有一個表單:ID;名稱Mysql插入時選擇

1-dog 
2-log 
3-for 

然後我有一個表中的字符:ID; NAME

1-_og 
2-_or 
3-_ot 

現在我有一個thirth關係表(讓我們稱之爲它words_and_characters),我希望把從表中的單詞和ID IDS從「匹配」表中的字符。 由ID,WORD_ID,CHARACTER_ID

在上面的例子由表ID,表words_and_characters應包含以下:

1-1-1 (the match is "dog" and "_og") 
2-2-1 (the match is "log" and "_og") 
3-3-2 (the match is "for" and "_or") 

我在表中開始寫入與第一光標的存儲過程對於iteratin根據這個字符:

select id, name from characters; 

,並把日期是這樣的:

FETCH curs1 INTO i,n; 

現在,在每次迭代中,我想這樣做:

select * from words where name like n; 

好,恐怕這是一個有點無效的,尤其是如果有大量的數據。 有沒有更好的方式來做到這一點你認爲?也許我也可以避免編寫一個存儲過程,只是有一些預付款SQL插入?

回答

0

使用JOIN:

INSERT INTO words_and_characters (word_id, character_id) 
SELECT w.id, c.id 
FROM words AS w 
JOIN characters AS c ON w.name LIKE c.name