데이터 베이스 MySQL 튜토리얼 MySQL 当记录不存在时插入(insert if not exists)

MySQL 当记录不存在时插入(insert if not exists)

Jun 07, 2016 pm 05:51 PM
client insert select where

在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。

问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢?

答案:可以通过使用 EXISTS 条件句防止插入重复记录。

示例一:插入多条记录

假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:

 代码如下 复制代码
INSERT INTO clients
(client_id, client_name, client_type)
SELECT supplier_id, supplier_name, 'advertising'
FROM suppliers
WHERE not exists ( * from clients
where clients.client_id = suppliers.supplier_id);

示例一:插入单条记录

 代码如下 复制代码
INSERT INTO clients
(client_id, client_name, client_type)
SELECT 10345, 'IBM', 'advertising'
FROM dual
WHERE not exists (select * from clients
where clients.client_id = 10345);

使用 dual 做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Select Channels의 비동기 처리 방법 golang을 이용한 Go 동시 프로그래밍 Select Channels의 비동기 처리 방법 golang을 이용한 Go 동시 프로그래밍 Sep 28, 2023 pm 05:27 PM

Select Channels의 비동기 처리 방법 golang을 이용한 Go 동시 프로그래밍

jquery에서 선택 요소를 숨기는 방법 jquery에서 선택 요소를 숨기는 방법 Aug 15, 2023 pm 01:56 PM

jquery에서 선택 요소를 숨기는 방법

mysql에서 삽입 무시, 삽입 및 교체의 차이점은 무엇입니까 mysql에서 삽입 무시, 삽입 및 교체의 차이점은 무엇입니까 May 29, 2023 pm 04:40 PM

mysql에서 삽입 무시, 삽입 및 교체의 차이점은 무엇입니까

jQuery에서 선택 요소의 변경 이벤트 바인딩을 구현하는 방법 jQuery에서 선택 요소의 변경 이벤트 바인딩을 구현하는 방법 Feb 23, 2024 pm 01:12 PM

jQuery에서 선택 요소의 변경 이벤트 바인딩을 구현하는 방법

Jul 24, 2023 pm 09:37 PM

jQuery에서 테이블 행을 추가, 편집 및 삭제하는 방법은 무엇입니까? jQuery에서 테이블 행을 추가, 편집 및 삭제하는 방법은 무엇입니까? Sep 05, 2023 pm 09:49 PM

jQuery에서 테이블 행을 추가, 편집 및 삭제하는 방법은 무엇입니까?

Laravel 컬렉션에서 Where 메소드를 사용하는 방법 Laravel 컬렉션에서 Where 메소드를 사용하는 방법 Mar 10, 2024 pm 10:21 PM

Laravel 컬렉션에서 Where 메소드를 사용하는 방법

Laravel 컬렉션의 Where 메소드에 대한 실용 가이드 Laravel 컬렉션의 Where 메소드에 대한 실용 가이드 Mar 10, 2024 pm 04:36 PM

Laravel 컬렉션의 Where 메소드에 대한 실용 가이드

See all articles