zilevsky
@zilevsky

Как обновить часть записи в таблице базы данных?

Подскажите как обновить часть столбцов при записи в базу данных, а не всех полей.
У меня приходят обновлённые данные и в базе данных у меня куча столбцов. Каждый раз обновлять всю запись дорого.
Есть ли способ писать в базу только изменённую часть?
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
просто выбираете нужные столбцы

USE [test]
GO

UPDATE [dbo].[Images]
   SET [Id] = <Id, uniqueidentifier,>
      ,[Name] = <Name, nvarchar(200),>
      ,[Taken] = <Taken, datetime,>
      ,[Path] = <Path, nvarchar(400),>
      ,[ParentId] = <ParentId, uniqueidentifier,>
 WHERE <Search Conditions,,>
GO


1) user.no_of_logins += 1
session.commit()

2) session.query(User).\
filter(User.username == form.username.data).\
update({'no_of_logins': User.no_of_logins + 1})
session.commit()

3) conn = engine.connect()
stmt = User.update().\
values(no_of_logins=User.no_of_logins + 1).\
where(User.username == form.username.data)
conn.execute(stmt)

4) setattr(user, 'no_of_logins', user.no_of_logins + 1)
session.commit()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы