@@ -1272,7 +1272,7 @@ WHERE id = 123
12721272После редактирования в GUI обновляем запись в БД:
12731273
12741274``` sql
1275- UPDATE t
1275+ UPDATE t
12761276SET col1 = ' val1' , col2 = ' val2' , ...
12771277WHERE id = 123
12781278AND updated_at = ' 2019年11月08日 00:58:33' -- сравниваем со значением из предыдущего SELECT запроса
@@ -1288,15 +1288,16 @@ RETURNING *
12881288См. [ Stackoverflow] ( https://stackoverflow.com/questions/18797608/update-multiple-rows-in-same-query-using-postgresql )
12891289
12901290``` sql
1291- UPDATE users as u SET
1291+ UPDATE users AS u
1292+ SET
12921293 email = v .email ,
12931294 first_name = v .first_name ,
12941295 last_name = v .last_name
12951296FROM (VALUES
12961297 (1 , ' hollis@weimann.biz' , ' Hollis' , ' O' ' Connell' ),
12971298 (2 , ' robert@duncan.info' , ' Robert' , ' Duncan' )
12981299) as v(id, email, first_name, last_name)
1299- WHERE v .id = u .id ;
1300+ WHERE u .id = v .id ;
13001301```
13011302
13021303### Как обновить или удалить миллионы записей в таблице не блокируя все записи и не нагружая БД?
0 commit comments