MySQL Errno 121, 写或更新时发生重复键?

MySQL Errno 121, 写或更新时发生重复键?

MySQL Errno 121是一个常见的数据库错误,经常在写或更新记录时发生。具体来说,此错误会在添加或更新数据库表中的记录时出现,当主键值重复时会提示这个错误。这个错误的意思是说,该记录的主键值与数据库中的现有记录重复了,所以该记录无法添加或更新。下面将介绍如何解决这个问题。

阅读更多:MySQL 教程

解决Errno 121的方法

发生Errno 121错误的主要原因是在MySQL表中使用了重复的主键。解决这个问题的方法之一是使用 REPLACE INTO 或 INSERT IGNORE 语句替代 INSERT…ON DUPLICATE KEY UPDATE 语句。

  1. 使用REPLACE INTO语句

REPLACE INTO 可以理解为插入或更新语句,如果表中存在该条记录,那么就更新它的值;如果不存在记录,则插入新的记录。如下图所示:

REPLACE INTO `table_name` (`column_name`) VALUES ('value');
  1. 使用INSERT IGNORE语句

INSERT IGNORE可以忽略插入时遇到的错误,包括 Errno 121。如果插入的记录有冲突,它将忽略这个错误,继续插入表中的其余记录。如下图所示:

INSERT IGNORE INTO `table_name` (`column_name`) VALUES ('value');

总结

以上这些方法可以解决MySQL Errno 121错误。值得注意的是,在更新或插入数据库表时,一定要使用唯一的主键值。如果你在运行MySQL时遇到这种错误,按照上述方法进行操作,你应该可以很快地解决问题。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程