mysql插入数据判断重复
时间: 2023-07-26 15:06:10 浏览: 190
判断是否重复输入数据
要判断MySQL中是否已存在某条记录,可以使用以下两种方式:
1. 使用唯一索引
在创建表时,可以为某些列添加唯一索引。当插入一条记录时,如果该记录在唯一索引列上的值已存在,则会触发唯一键冲突异常,从而阻止插入重复数据。
例如,在创建一个学生表时,可以将学号列设置为唯一索引,如下所示:
```sql
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
student_number VARCHAR(20) UNIQUE,
name VARCHAR(20),
age INT
);
```
然后,可以使用 INSERT IGNORE 语句插入数据,如果唯一键冲突,则忽略该条记录:
```sql
INSERT IGNORE INTO student (student_number, name, age) VALUES ('20210001', '张三', 18);
```
如果要插入的学号已经存在,则会忽略该条记录。
2. 使用 ON DUPLICATE KEY UPDATE
另一种方式是使用 ON DUPLICATE KEY UPDATE 语句。该语句的作用是,在插入数据时,如果唯一键冲突,则执行更新操作,而不是插入操作。
例如,在上面的学生表中,可以使用以下语句插入数据:
```sql
INSERT INTO student (student_number, name, age)
VALUES ('20210001', '张三', 18)
ON DUPLICATE KEY UPDATE name='李四', age=20;
```
如果要插入的学号已经存在,则会执行更新操作,将该学生的姓名改为“李四”,年龄改为20岁。
阅读全文