Gorm: Как мы узнаем, было ли обновление успешным?

Созданный на 26 мая 2014  ·  3Комментарии  ·  Источник: go-gorm/gorm

Используя адаптер postgres, как мы узнаем, было ли обновление успешным?

обновите пользователей, установите адрес электронной почты = ' [email protected] ', где id = 2 (т.е. db.Table("users").Where(2).Updates(map))

Если id=2 не существует, postgres вернет «ОБНОВЛЕНИЕ 0».

Я бы посчитал, что любой клиент, использующий несуществующий идентификатор в операторе обновления, является ошибкой. Я хотел бы отправить эту ошибку клиенту.

Есть ли способ узнать обновленное количество строк для обновления с помощью gorm? Если обновленное количество строк равно 0 (и клиент использовал идентификатор для обновления), мы можем отправить ошибку.

Самый полезный комментарий

Привет @satb

Спасибо за ваш отзыв, эта поддержка уже добавлена, вы можете получить затронутые столбцы следующим образом:

fmt.Println(db.Table("users").Where(2).Updates(map).RowsAffected)

Все 3 Комментарий

Привет @satb

Спасибо за ваш отзыв, эта поддержка уже добавлена, вы можете получить затронутые столбцы следующим образом:

fmt.Println(db.Table("users").Where(2).Updates(map).RowsAffected)

@jinzhu Привет, как проверить ошибки с затронутыми строками?

Спасибо

Привет @satb

Спасибо за ваш отзыв, эта поддержка уже добавлена, вы можете получить затронутые столбцы следующим образом:

fmt.Println(db.Table("users").Where(2).Updates(map).RowsAffected)

Я следую вашему способу написания, это все еще неправильно, возвращаемое значение всегда равно 0

Была ли эта страница полезной?
0 / 5 - 0 рейтинги