2009-12-27 53 views
0

我有一個主鍵id AUTOINCREMENT和多列,其中lang='en'所以如果我做一個表:MySQL的INSERT SELECT問題

DELETE FROM ".MY_PRF."form WHERE `lang` <> 'en'; 

我想複製所有列,其中lang='en',然後改變lang'cz'像這樣:

INSERT INTO form (`lang`, `caption`, `type`) 
    SELECT 'cz', `caption`, `type` 
    FROM form 
    WHERE lang = 'en'; 

該查詢產生一個錯誤:

Duplicate entry '127' for key 1 

我不知道發生了什麼,因爲主鍵是AUTOINCREMENT。我只想複製lang='en'行,將lang更改爲'cz'

回答

4

什麼是ID變量的類型?

如果是TINYINT將其更改爲INT

+0

好主意 - 關鍵= 127錯誤似乎表明這一點。 – ceejayoz 2009-12-27 20:13:48

+0

哦,你是一個天才的傢伙!這是問題! – Dan 2009-12-27 20:16:22