mysql提示 Duplicate entry..for key错误解决办法

如:Duplicate entry for key 3的意思是表的第3个字段出现了唯一索引的限制,需要插入其它不重复的值或去掉字段的unique属性。

看一个实例

如果您的站点上有 phpMyAdmin ,还可以通过它他检查下您的数据库中出错的表的自增字段的当前自增值是否和该表中自增字段的最大值相同,如果相同则会出现该错误。

如何检查?

1)进入您的 phpMyAdmin ,然后在左侧选择您出错的数据库。

2)选择您出错的表,并找到该表的自增字段,有 auto_increment 标识的字段即为该表的自增字段。

3)点击浏览,然后根据自增字段降序排序,记下自增字段的当前最大值。

4)点击该页面上方的操作,会看到“表选项”中的 auto_increment 项,这就是下一条你要插入的数据的自增字段的值,如果这个值和刚才记下的当前自增字段的最大值一样,就会报错了,所以将这个值改为大于刚才记下的当前自增字段的最大值,然后点击“执行”,即可解决问题。
示例中给出的当前自增字段的最大值为 54 ,而下一条你要插入的数据的自增字段的值为 55 ,这样则不会有问题。

还有一种情况,那就是自增字段的数值已经达到该字段的最大值,即不能再增加了,这种情况也会出现同样的错误提示。上面提到我朋友论坛的错误信息正是此原因。自增字段的数据类型是mediumint(8),因为数据出了问题,导致该字段值超出了最大范围16777215!把出错的数据修正即可解决

时间: 2024-08-02 20:00:43

mysql提示 Duplicate entry..for key错误解决办法的相关文章

mysql中使用过程中常见错误解决办法收集

1.Mysql errono 1005 : 主外键不是完全一致 , 请检查如下几点:       a.字段是否存在       b.类型是否一致(注意unsigned , powerdesign 生成问题)       c.数据库引擎是否一致       d.字符编码是否一致       e.windows平台下注意修改lower_case_table_names = 0, windows本身不区分文件大小写,改为0之后就区分了可能造成找不到引用的表  2.Mysql errono  121: 

MySQL SQL UPDATE语句出现#1093错误解决办法

我使用了这样一个SQL:  代码如下 复制代码 UPDATE `student_quiz_answer` SET `article_id`= (SELECT qa.article_id, sqa.answer_id FROM student_quiz_answer sqa LEFT JOIN `quiz_answer` qa ON sqa.answer_id = qa.answer_id where qa.article_id > 0) 问题来自MySQL更新Table某个字段时,如果 Upda

ueditor提示not import language file错误解决办法

建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败这里加载的语言文件会覆盖你在配置项目里添加的语言类型比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文 按照此方法后的结果是,貌似在IE6下能出现编辑器,但是好像样式都没出来,看来是样式文件没有加载上. 往这个思路去想,国际化文件没加载上,然后样式没加载上,所以基本上可以肯定是路径问题. 如果是路径问题的话,就往配置文件里去找啊,在配置文件的最顶部 解决办法:  代码如下 复制代码 在引入ueditor.config

Nginx中提示Too Many Open Files 错误解决办法

做了点实验看了些源码,印证了自己的猜想. 对于get方法,send header+output_filter 就可以结束一次请求,因为GET方法是同步的,nginx会在handler返回之后的步骤中关闭链接,但对于post方法,由于nginx是使用异步的方式处理post数据,因此必须显式的关闭链接.  nginx的content handler同步返回后会调用ngx_http_finalize_request,在这个函数里,如果handler返回值为ngx_done则会直接ngx_http_fi

wordpress安装提示NGINX 502 Bad Gateway错误解决办法

今天在新装的Linode的VPS中搭建搭建一个WORDPRESS站点,谁知道在step=2的时候出现了莫名其妙的502 Bad Gateway错误. 20110112200117-156870207[1] 期初以为是并发和内存的问题,调整了php-fpm.ini,也重新编译了php.结果问题依旧.好吧,查看Centos的日志吧. # less /var/log/messages //系统下查看日志文件. 发现最近的错误在: Jan 26 02:09:40 li631-178 kernel: ph

MySql 数据库导入Unknown command \n.错误解决办法

  在CMD 下 输入: Mysql -u root -p --default-character-set=utf8 database <backpath 注:出现这种错误一般是由于备份数据的字符集和恢复时使用的字符集不一致所致,常用的两种字符集是 UTF8 GBK 找一半天原理只是一个中文乱码引起来,看来老外开发的东西我们中国人用起来对中文编码要特别注意哈.

linux提示could not open session错误解决办法

一.问题 一台现网主机在root用户登录时报错" could not open session " ,在这之前由于oracle需要进行过ulimit参数的调整.如下: #<item> can be one of the following: #        - core - limits the core file size (KB) #        - data - max data size (KB) #        - fsize - maximum files

win7安装提示output error file to错误解决办法

一.可能是在恢复ghost时出现外部出现震动,用户不小心碰到光驱的问题 解决方法:让光驱保持平稳,重新装一次. 二.ISO问题 解决方法:只能重新下载ISO. 三.光驱光盘问题 解决方法:用Daemontools.UltraISO等软件将ISO中的GHO文件进行解压,然后用GHOST软件直接将文件恢复到C盘. 四.硬盘分区的问题 解决方法:进入DOS,运行"FDSK/MBR"修复引导扇区,再执行"FORMAT C:"格式化硬盘再恢复. 五.内存分区问题. 解决方法:

mysqldump导库出错 Duplicate entry ” for key 1

mysqldump导库出错 Duplicate entry " for key 1 这个数据库备份是用后台自带的备份程序备份的,400多M,比较大,所以没用phpmyadmin导入,进入cmd ,mysql -h localhost -u root -p 数据库名<"备份的sql文件路径",却出错:ERROR 1062 (23000) at line 501: Duplicate entry " for key 1,然后自动停止导入,回滚到原先状态了,我日啊!