«upsert» 태그된 질문

upsert (조합 업데이트 / 삽입) 작업 수행과 관련된 문제

11
MySQL 테이블에 삽입하거나 존재하는 경우 업데이트
데이터베이스 테이블에 행을 추가하고 싶지만 동일한 고유 키가있는 행이 있으면 행을 업데이트하고 싶습니다. 예를 들면 다음과 같습니다. insert into table (id, name, age) values(1, "A", 19) 고유 키는 id이고 내 데이터베이스 에는 행 이 있다고 가정 해 봅시다 id = 1. 이 경우 해당 값을 해당 행으로 업데이트하고 싶습니다. 일반적으로 …

16
PostgreSQL의 중복 업데이트에 삽입 하시겠습니까?
몇 달 전에 나는 다음 구문을 사용하여 MySQL에서 한 번에 여러 업데이트를 수행하는 방법에 대해 스택 오버플로에 대한 답변을 배웠습니다. INSERT INTO table (id, field, field2) VALUES (1, A, X), (2, B, Y), (3, C, Z) ON DUPLICATE KEY UPDATE field=VALUES(Col1), field2=VALUES(Col2); 나는 이제 PostgreSQL로 전환했으며 분명히 이것이 맞지 않습니다. …

21
SQL Server의 INSERT 또는 UPDATE 솔루션
의 테이블 구조를 가정합니다 MyTable(KEY, datafield1, datafield2...). 기존 레코드를 업데이트하거나 존재하지 않는 경우 새 레코드를 삽입하려고합니다. 본질적으로 : IF (key exists) run update command ELSE run insert command 이것을 작성하는 가장 좋은 방법은 무엇입니까?

18
SQLite-UPSERT * not * INSERT 또는 REPLACE
http://en.wikipedia.org/wiki/Upsert SQL Server에 업데이트 저장 프로 시저 삽입 내가 생각하지 못한 SQLite 에서이 작업을 수행하는 영리한 방법이 있습니까? 기본적으로 레코드가 존재하면 4 개 열 중 3 개를 업데이트하고 싶습니다.없는 경우 4 번째 열의 기본 (NUL) 값으로 레코드를 삽입하고 싶습니다. ID는 기본 키이므로 UPSERT에 대한 레코드는 하나뿐입니다. (명확하게 업데이트하거나 삽입 해야하는 …
535 sql  sqlite  upsert 

17
Postgres : 존재하지 않는 경우 INSERT
파이썬을 사용하여 postgres 데이터베이스에 씁니다. sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES (" sql_string += hundred + ", '" + hundred_slug + "', " + status + ");" cursor.execute(sql_string) 그러나 일부 행이 동일하기 때문에 다음 오류가 발생합니다. psycopg2.IntegrityError: duplicate key value violates unique constraint "hundred_pkey" '이 행이 존재하지 않는 한'INSERT …

12
오라클 : UPSERT 방법 (테이블에 업데이트 또는 삽입?)
UPSERT 조작은 테이블에 이미 데이터와 일치하는 행이 있는지에 따라 테이블에 행을 갱신하거나 삽입합니다. if table t has a row exists that has key X: update t set mystuff... where mykey=X else insert into t mystuff... 오라클은 특정 UPSERT 문을 가지고 있지 않으므로이를 수행하는 가장 좋은 방법은 무엇입니까?
293 sql  oracle  merge  upsert 

6
PostgreSQL에서 UPSERT (MERGE, INSERT ... ON DUPLICATE UPDATE)하는 방법은 무엇입니까?
여기서 자주 묻는 질문은 upsert를 수행하는 방법인데, 이는 MySQL 호출 INSERT ... ON DUPLICATE UPDATE과 표준이 MERGE작업의 일부로 지원하는 것입니다. PostgreSQL이 직접 지원하지 않는 경우 (9.5 페이지 이전) 어떻게이 작업을 수행합니까? 다음을 고려하세요: CREATE TABLE testtable ( id integer PRIMARY KEY, somedata text NOT NULL ); INSERT INTO testtable (id, …


6
PostgreSQL에서 ON CONFLICT와 함께 RETURNING을 사용하는 방법은 무엇입니까?
PostgreSQL 9.5에는 다음과 같은 UPSERT가 있습니다. INSERT INTO chats ("user", "contact", "name") VALUES ($1, $2, $3), ($2, $1, NULL) ON CONFLICT("user", "contact") DO NOTHING RETURNING id; 충돌이 없으면 다음과 같이 반환됩니다. ---------- | id | ---------- 1 | 50 | ---------- 2 | 51 | ---------- 그러나 충돌이 있으면 행을 …

1
충돌 업데이트에 PostgreSQL INSERT ON (업소 트) 제외 된 모든 값 사용
행을 upserting 할 때 (PostgreSQL> = 9.5) 가능한 INSERT가 가능한 UPDATE와 정확히 동일하게하려면 다음과 같이 작성할 수 있습니다. INSERT INTO tablename (id, username, password, level, email) VALUES (1, 'John', 'qwerty', 5, 'john@mail.com') ON CONFLICT (id) DO UPDATE SET id=EXCLUDED.id, username=EXCLUDED.username, password=EXCLUDED.password, level=EXCLUDED.level,email=EXCLUDED.email 더 짧은 방법이 있습니까? 말하자면 : 모든 EXCLUDE …

9
SQL Server에 업데이트 저장 프로 시저 삽입
레코드가 있으면 업데이트를 수행하는 저장된 proc을 작성했습니다. 그렇지 않으면 삽입을 수행합니다. 다음과 같이 보입니다. update myTable set Col1=@col1, Col2=@col2 where ID=@ID if @@rowcount = 0 insert into myTable (Col1, Col2) values (@col1, @col2) 이런 식으로 작성하는 논리는 업데이트가 where 절을 사용하여 암시 적 선택을 수행하고 0을 반환하면 삽입이 발생한다는 것입니다. …

7
SQLite UPSERT / 업데이트 또는 삽입
SQLite 데이터베이스에 대해 UPSERT / INSERT 또는 UPDATE를 수행해야합니다. 대부분의 경우 유용 할 수있는 INSERT OR REPLACE 명령이 있습니다. 그러나 외래 키로 인해 자동 증가를 사용하여 ID를 유지하려면 행을 삭제하고 새 행을 만들고 결과적 으로이 새 행에 새 ID가 있으므로 작동하지 않습니다. 다음은 테이블입니다. 플레이어-(ID의 기본 키, 고유 한 user_name) …
102 database  sqlite  upsert 

5
SQLite INSERT-ON DUPLICATE KEY UPDATE (UPSERT)
MySQL에는 다음과 같은 것이 있습니다. INSERT INTO visits (ip, hits) VALUES ('127.0.0.1', 1) ON DUPLICATE KEY UPDATE hits = hits + 1; 이 기능이 SQLite에 존재하지 않는다는 것을 알고있는 한 제가 알고 싶은 것은 두 개의 쿼리를 실행하지 않고도 동일한 효과를 얻을 수있는 방법이 있는지 여부입니다. 또한 이것이 가능하지 않은 …
98 sql  mysql  database  sqlite  upsert 

9
ON CONFLICT 절에서 여러 충돌 대상 사용
나는 테이블에 두 개의 열을 가지고 col1, col2그들은 모두 고유 인덱스 (col1의 고유 그래서 COL2입니다)입니다. 이 테이블에 삽입하고 ON CONFLICT구문을 사용 하고 다른 열을 업데이트해야하지만 conflict_target절 에서 두 열을 모두 사용할 수는 없습니다 . 효과가있다: INSERT INTO table ... ON CONFLICT ( col1 ) DO UPDATE SET -- update needed …

10
테이블의 행을 업데이트하거나 존재하지 않는 경우 INSERT하는 방법은 무엇입니까?
다음과 같은 카운터 테이블이 있습니다. CREATE TABLE cache ( key text PRIMARY KEY, generation int ); 카운터 중 하나를 늘리거나 해당 행이 아직 존재하지 않는 경우 0으로 설정하고 싶습니다. 표준 SQL에서 동시성 문제없이이 작업을 수행 할 수있는 방법이 있습니까? 작업은 때로는 트랜잭션의 일부이며 때로는 분리되어 있습니다. SQL은 가능한 경우 SQLite, …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.