Я пытаюсь выполнить команду sql для обновления строк и объединения строк с соответствующими данными.
В качестве примера того, что я пытаюсь сделать, у меня есть таблица, показанная ниже.Я хочу обновить все записи, которые имеют userEmail = user@user.com, чтобы стать admin@example.com.Если я пытаюсь выполнить простое обновление, я сталкиваюсь с дублирующимися ошибками ключа.
Я мог бы обойти это, добавив какой-то счетчик в качестве суррогатного ключа, но я бы предпочел по возможности избегать этой опции.
Кроме того, в качестве дополнительной функции, если это возможно, я бы хотел объединить количество записей.
Какую операцию я могу использовать для этого?
Original table
___________________________________________________________________________
userEmail |productId |usItemId |quantity|timestamp |
----------------------|------------|---------|--------|-------------------|
admin@example.com |111111111111|222222222| 77|2019-04-07 02:19:41|<--
admin@example.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-07 02:19:41|
admin@example.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-07 02:19:41|
user@user.com |111111111111|222222222| 22|2019-04-07 02:19:41|<--
user@user.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-06 05:34:58|
user@user.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-06 05:35:30|
Updated table
___________________________________________________________________________
userEmail |productId |usItemId |quantity|timestamp |
----------------------|------------|---------|--------|-------------------|
admin@example.com |111111111111|222222222| 99|2019-04-07 02:19:41|<--
admin@example.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-07 02:19:41|
admin@example.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-07 02:19:41|
admin@example.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-06 05:34:58|
admin@example.com |xxxxxxxxxxxx|xxxxxxxxx| 1|2019-04-06 05:35:30|