SQLAlchemy – выполнение массовой установки (если существует, обновить, иначе вставить) в postgresqlPython

Программы на Python
Ответить
Anonymous
 SQLAlchemy – выполнение массовой установки (если существует, обновить, иначе вставить) в postgresql

Сообщение Anonymous »

Я пытаюсь написать массовое обновление в Python, используя модуль SQLAlchemy (не в SQL!).

Я получаю следующую ошибку при добавлении SQLAlchemy:

Код: Выделить всё

sqlalchemy.exc.IntegrityError: (IntegrityError) duplicate key value violates unique constraint "posts_pkey"
DETAIL:  Key (id)=(TEST1234) already exists.
У меня есть таблица Posts с первичным ключом в столбце id.

В этом примере в базе данных уже есть строка с id=TEST1234. Когда я пытаюсь db.session.add() создать новый объект сообщений с идентификатором, установленным на TEST1234, я получаю ошибку, указанную выше. У меня сложилось впечатление, что если первичный ключ уже существует, запись будет обновлена.

Как я могу обновить Flask-SQLAlchemy только на основе первичного ключа? Есть ли простое решение?

Если нет, я всегда могу проверить и удалить любую запись с совпадающим идентификатором, а затем вставить новую запись, но это кажется дорогостоящим в моей ситуации, когда я не ожидаю большого количества обновлений.

Подробнее: https://stackoverflow.com/questions/259 ... -in-postgr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»