>데이터 베이스 >MySQL 튜토리얼 >SQLite에서 IF NOT EXISTS 기능을 달성하는 방법은 무엇입니까?

SQLite에서 IF NOT EXISTS 기능을 달성하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-15 16:37:14369검색

How to Achieve IF NOT EXISTS Functionality in SQLite?

SQLite: IF NOT EXISTS의 대안

SQLite는 Microsoft SQL Server에서 일반적으로 사용되는 IF NOT EXISTS 구문을 기본적으로 지원하지 않습니다. 데이터가 아직 존재하지 않는 경우에만 테이블에 조건부로 데이터를 삽입합니다. 그러나 SQLite에서 동일한 기능을 달성하기 위한 여러 가지 대체 접근 방식이 있습니다.

1. INSERT OR IGNORE

INSERT OR IGNORE 문은 SQLite에 지정된 테이블에 삽입을 시도하고 중복 키 위반으로 인해 발생하는 모든 오류를 무시하도록 지시합니다. 이는 지정된 키가 존재하지 않는 경우 새 행을 효과적으로 생성하고 이미 존재하는 경우 아무 작업도 수행하지 않습니다.

INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES ('ANI Received');

2. SELECT...WHERE NOT EXISTS

이 대체 접근 방식은 삽입을 수행하기 전에 SELECT 문을 사용하여 레코드의 존재를 확인합니다. SELECT 문이 행을 반환하지 않으면(레코드가 존재하지 않음을 나타냄) INSERT 문이 실행됩니다.

INSERT INTO EVENTTYPE (EventTypeName)
SELECT 'ANI Received'
WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');

이 두 접근 방식 모두 IF NOT EXISTS 구문에 대한 대안을 제공하며 조건부 삽입에 사용할 수 있습니다. 지정된 키가 존재하지 않는 경우에만 데이터를 SQLite 테이블에 추가합니다.

위 내용은 SQLite에서 IF NOT EXISTS 기능을 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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