2009-12-27 5 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

+0

О, парень, ты гений !!!! Это была проблема! – Dan