반응형
레코드를 확인하고 존재하지 않는 경우 삽입하는 쿼리가 있습니까? 중복 업데이트 또는 교체하고 싶지 않습니다. 하나의 쿼리 솔루션을 찾고 다른 답변을 보았지만 실제로 내가 원하는 것은 아닙니다.
표:
name|value|id
------------------
phill|person|12345
의사 쿼리 :
IF NOT EXISTS(name='phill', value='person', id=12345) INSERT INTO table_name
해결 방법
REPLACE
사용-테이블의 이전 행이 PRIMARY KEY 또는 UNIQUE 인덱스의 새 행과 동일한 값을 갖는 경우 새 행 이전에 이전 행이 삭제된다는 점을 제외하면 INSERT와 똑같이 작동합니다. 삽입됩니다.
-- For your example query
REPLACE INTO table_name(name, value, id) VALUES
('phill', 'person', 12345)
편집 : REPLACE를 사용할 수 없기 때문에 다른 옵션은 테이블 데이터 (기본 키, 고유성)에 대한 제약 인덱스를 설정하고 INSERT IGNORE를 사용하는 것입니다.
INSERT IGNORE INTO table_name
SET name = 'phill',
value = 'person',
id = 12345;
참조 페이지 https://stackoverflow.com/questions/2223344
반응형
'MySql' 카테고리의 다른 글
MySQL "mysql_query"결과에서 행 계산 (0) | 2020.12.10 |
---|---|
MySQL Is there a MySQL command to convert a string to lowercase? (0) | 2020.12.10 |
MySQL Google App Engine의 Datastore와 Cloud SQL (0) | 2020.12.09 |
MySQL Export MySQL data to .csv using PHP (0) | 2020.12.09 |
MySQL Any good relational database tutorials? (0) | 2020.12.09 |
댓글