0
点赞
收藏
分享

微信扫一扫

mysql 主键重复不覆盖

MySQL主键重复不覆盖的实现方法

1. 整体流程

在MySQL中,可以通过设置主键和使用INSERT IGNORE语句来实现主键重复不覆盖的功能。下面是整个流程的步骤图示:

journey
    title MySQL主键重复不覆盖的实现方法
    section 创建表格
      创建表格和添加主键
    section 插入数据
      利用INSERT IGNORE语句插入数据

2. 每一步的操作

2.1 创建表格

首先,我们需要创建一张表格并设置主键,示例代码如下:

-- 创建表格
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 添加主键
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);

上述代码中,我们创建了一个名为users的表格,并设置了一个名为id的主键。

2.2 插入数据

接下来,我们通过INSERT IGNORE语句插入数据,并实现主键重复不覆盖的功能,代码如下:

-- 插入数据
INSERT IGNORE INTO `users` (`id`, `name`, `email`) VALUES
(1, 'Alice', 'alice@example.com'),
(2, 'Bob', 'bob@example.com'),
(3, 'Charlie', 'charlie@example.com');

上述代码中,我们使用INSERT IGNORE INTO语句插入了三条数据,即使有重复的主键,也不会覆盖已存在的数据。

3. 完整代码示例

下面是完整的示例代码:

-- 创建表格
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 添加主键
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);

-- 插入数据
INSERT IGNORE INTO `users` (`id`, `name`, `email`) VALUES
(1, 'Alice', 'alice@example.com'),
(2, 'Bob', 'bob@example.com'),
(3, 'Charlie', 'charlie@example.com');

通过上述代码,我们成功地创建了一张名为users的表格,并插入了三条数据,实现了主键重复不覆盖的功能。

4. 总结

本文介绍了在MySQL中如何实现主键重复不覆盖的功能。首先,我们创建了一张表格并设置了主键,然后通过INSERT IGNORE语句插入数据。通过这种方式,即使有重复的主键,也不会导致已存在的数据被覆盖。希望本文对刚入行的小白能够有所帮助。

举报

相关推荐

0 条评论