[Diesel] 데이터 수정하기 (update)
대충 이런 테이블과 데이터가 들어있다고 가정한다.


update는 기본적으로 전역 함수 update와 그로 인해 반환되는 객체의 메서드 set으로 수행할 수 있다.
다음과 같이 테이블값 전체를 넘기고, set으로 특정 컬럼 dsl의 eq값을 넣어준다면 update 쿼리가 생성이 된다.
실행하려면 query의 execute 메서드를 호출하면 된다.

이렇게 말이다.
그럼 다음과 같이 update가 잘 수행될 것이다.

근데 일반적으로 쿼리를 저따위로 짤 일은 별로 없다. 다 조건을 걸어서 특정 값만 바꾸지.
조건절 부여
update에 조건을 달려면, 테이블 값을 그대로 보낼 게 아니라, filter 등을 거친 값을 넣어주면 된다.
수정할 값들을 select 한번 한다고 생각하면 된다.
코드는 이런식이 된다.


그럼 기대한 대로 잘 동작할 것이다.

다중 컬럼 update하기
무슨 조화를 부렸는지는 모르겠는데, set에는 튜플로 여러개의 eq 할당을 넣어줄 수가 있다.

그럼 위와 같이 잘 넣어준다.
따단

혹은, 아예 변경용 구조체를 정의해서 집어넣을 수도 있다. 필요한 트레잇은 AsChangeSet이다.


따단
