技术文章 > 数据库 >  MySQL > 正文

MySQL中如何使用replace into语句处理出错?

宋雪维

mysql中insert into语句使用实现数据库插入,可以向表中插入一条或多条数据,但是当在数据库中插入主键重复的数据,就会导致出错,这时就要使用replace into语句。replace into语句可以删除原有的一条记录并插入一条新的记录,本文介绍replace into的使用方法。

replace into实现原理

如果新插入行的主键或唯一键在表中已经存在,则会删除原有记录并插入新行;

如果在表中不存在,则直接插入。这样就会存在缺陷,如果某个字段有默认值,在使用replace into做数据修改时会将默认值的字段恢复到默认值,造成数据丢失。

一般replace插入更新时,其中没有指定的列会被置空。其根据主键确定要replace的记录,无法根据where确定。

使用实例

mysql> select * from student;
+-----------+----------+
| name      | classNum |
+-----------+----------+
| hublanker |        5 |
| huyanshi  |        5 |
| test1     |       10 |
| test2     |       20 |
+-----------+----------+
4 rows in set (0.00 sec)

mysql> replace into student(name,classNum) values("test2",21);
Query OK, 2 rows affected (0.00 sec)

mysql> select * from student;
+-----------+----------+
| name      | classNum |
+-----------+----------+
| hublanker |        5 |
| huyanshi  |        5 |
| test1     |       10 |
| test2     |       21 |
+-----------+----------+
4 rows in set (0.00 sec)

以上就是MySQL中使用replace into语句处理出错的原理及实例,希望能对你有所帮助哟~

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  python中remove()方法如何使用删除后的值?
  python标识符是什么意思?
  如何在Python中生成ndarray
相关视频章节
  Python应用领域
  写下你第一个Python程序
  量化投资与Python&ipython初识
视频教程分类