2012-11-28 44 views
0

我正在使用數據庫的多語言系統, 正在嘗試克隆具有特定language_id'EN'的所有記錄,並克隆到同一個表中但不同的language_id與同樣key_value和關鍵文本如何克隆所有特定記錄並修改其中一列

表語言

id---language_id---key_value---key_text 
1  EN  _WELCOME Welcome    
2  CH  _WELCOME  ...    
3  EN  _LOG_IN  Log In    
4  CH  _LOG_IN  ...    

做了一些workhome,但它不工作,不知道這是做這項工作的正確方法。

INSERT INTO language (language_id,key_value,key_text) 
(SELECT 'FR','key_value','key_text' FROM language WHERE language_id='EN') 

//Unknown column 'language_id' in 'where clause' 

我從一些舊網教程這個樣本,但他們在不同的表

回答

2

工作。如果你想插入所有'EN'數據'FR',嘗試; T-SQL

INSERT INTO language (language_id,key_value,key_text) 
SELECT 'FR' as language_id, key_value, key_text 
FROM language WHERE language_id='EN' 
+0

感謝您的回答....頭腦解釋在這種情況下如何T-SQL幫助? –

+0

嗯,它選擇'key_value','key_text'和'EN'過濾的'靜態值'FR''並將它們與映射一起插入。在你的查詢中,沒有從語言表中選擇,因爲它們都是靜態值。 – Kaf

+0

對不起,我認爲你的答案似乎很正確,但我仍然無法得到它的工作,有沒有什麼好的方法來調試這個...我使用mysql4和php5,沒有真正的經驗在這個 –