간단요약
update 대신 updateMany를 사용하면 됩니다.
"An operation failed because it depends on one or more records that were required but not found. Record to update not found. "
prisma에서 update시 수정할려고 하는 값이 존재 하지 않으면 위의 에러를 던집니다.
하지만 updateMany를 이용하면 해당 에러는 발생하지 않습니다.
update 같은 경우 해당 값을 SELECT 해온다음에 UPDATE를 처리하는데 SELECT하였을때 값이 없으면 위의 에러값을 던지는 것입니다. 하지만 updateMany는 SELECT 하지 않고 바로 UPDATE를 합니다. 그래서 에러가 발생하지 않습니다.
update시 에러를 발생시키지 않았으면하는 논의 이슈가 있습니다. :
https://github.com/prisma/prisma/issues/10142
TL:DR
use "updateMany" instead of "update"
"An operation failed because it depends on one or more records that were required but not found. Record to update not found. "
Prisma throws those error when they can't find matching data.
But if you use "updateMany" instead of "update", you are not going to meet thoese error.
Because when you use "update", prisma run "select" query first, and run the "update" query
So if they don't get any data when they run "select" query, they throw the error.
But if you use "updateMany", prisma don't run "select" query, runs just "update" query only.
And I found issue dicussing about not throwing error
issue open(22.01.05):
https://github.com/prisma/prisma/issues/10142
'TIL' 카테고리의 다른 글
2023.02.11 letsencrypt certbot 자동 갱신 오류 (0) | 2023.02.11 |
---|---|
prisma relation deleteMany (개인 기록용) (0) | 2023.01.29 |
알고리즘 강의 정리 (간략) (0) | 2023.01.03 |
가상메모리 - page/segmentation (0) | 2022.12.13 |
MySQL grant all privileges 문법 (0) | 2022.11.15 |