Вопросы с тегом «upsert»

По вопросам, связанным с выполнением операций upsert (комбинации обновления / вставки).

11
Вставить в таблицу MySQL или обновить, если существует
Я хочу добавить строку в таблицу базы данных, но если строка существует с тем же уникальным ключом, я хочу обновить строку. Например: insert into table (id, name, age) values(1, "A", 19) Допустим, уникальный ключ есть id, и в моей базе данных есть строка с id = 1. В этом случае …

16
Вставить, при повторном обновлении в PostgreSQL?
Несколько месяцев назад я узнал из ответа на Stack Overflow, как выполнять несколько обновлений одновременно в 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
Предположим, что структура таблицы MyTable(KEY, datafield1, datafield2...). Часто я хочу либо обновить существующую запись, либо вставить новую запись, если она не существует. По существу: IF (key exists) run update command ELSE run insert command Какой лучший способ написать это?

18
SQLite - UPSERT * не * ВСТАВИТЬ или ЗАМЕНИТЬ
http://en.wikipedia.org/wiki/Upsert Вставить обновление хранимой процедуры на SQL Server Есть ли какой-нибудь умный способ сделать это в SQLite, о котором я не думал? В основном я хочу обновить три из четырех столбцов, если запись существует, если она не существует, я хочу вставить запись со значением по умолчанию (NUL) для четвертого столбца. …
535 sql  sqlite  upsert 

17
Postgres: INSERT, если еще не существует
Я использую Python для записи в базу данных 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 …

12
Oracle: как сделать 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... Поскольку у Oracle нет конкретного оператора UPSERT, каков наилучший …
293 sql  oracle  merge  upsert 

6
Как сделать UPSERT (MERGE, INSERT ... ON DUPLICATE UPDATE) в PostgreSQL?
Очень часто задаваемый вопрос здесь - как сделать upsert, что вызывает MySQL INSERT ... ON DUPLICATE UPDATEи поддерживает стандарт как часть MERGEоперации. Учитывая, что PostgreSQL не поддерживает его напрямую (до pg 9.5), как вы это делаете? Учтите следующее: CREATE TABLE testtable ( id integer PRIMARY KEY, somedata text NOT NULL …



1
PostgreSQL INSERT ON CONFLICT UPDATE (upsert) использовать все исключенные значения
Когда вы добавляете строку (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 Есть …

9
Вставить обновление хранимой процедуры на SQL Server
Я написал хранимую процедуру, которая будет выполнять обновление, если запись существует, иначе она выполнит вставку. Это выглядит примерно так: update myTable set Col1=@col1, Col2=@col2 where ID=@ID if @@rowcount = 0 insert into myTable (Col1, Col2) values (@col1, @col2) Моя логика написания его таким образом заключается в том, что обновление будет …

7
SQLite UPSERT / ОБНОВЛЕНИЕ ИЛИ ВСТАВКА
Мне нужно выполнить UPSERT / INSERT OR UPDATE для базы данных SQLite. Есть команда INSERT OR REPLACE, которая во многих случаях может быть полезной. Но если вы хотите сохранить свой идентификатор с автоинкрементом из-за внешних ключей, он не работает, поскольку он удаляет строку, создает новую и, следовательно, эта новая строка …
104 database  sqlite  upsert 

5
SQLite INSERT - ПРИ ДВОЙНОМ ОБНОВЛЕНИИ КЛЮЧА (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 ) …

10
Как мне ОБНОВИТЬ строку в таблице или ВСТАВИТЬ ее, если она не существует?
У меня есть следующая таблица счетчиков: CREATE TABLE cache ( key text PRIMARY KEY, generation int ); Я хотел бы увеличить один из счетчиков или установить его на ноль, если соответствующая строка еще не существует. Есть ли способ сделать это без проблем с параллелизмом в стандартном SQL? Операция иногда является …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.