MySQL INSERT SELECT问题

时间:2009-12-27 19:56:55

标签: sql mysql mysql-error-1062

我有一张包含主键id AUTOINCREMENT的表和许多列lang='en'的表格,如果我这样做的话:

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'

1 个答案:

答案 0 :(得分:4)

ID变量的类型是什么?

如果是TINYINT,则将其更改为INT