1
다음 두 쿼리는 내 테이블 수행 할 작업을 달성 :업데이트 쿼리를 작성하는 더 좋은 방법은 무엇입니까?
Update person_role_memberships, events
set person_role_id = 2
where person_role_id = 32 and event_name = events.name and events.date_2 = curdate() - 1
;
- 내가하는 일의 더 나은 방법 인 알고 싶어
update person_role_memberships set person_role_id = 2
where person_role_id = 32 and event_name in
(select name from events where date_2 = curdate() -1
);
그 최적, 안전의 측면 (에서 코너 케이스 또는 부작용) 또는 모범 사례?
으로
IN
부분을 대체 할 수 있습니다로 = curdate() -1' -'존재합니까'할까요? 나는 아무것도 반환되었는지 여부를 테스트하는 것만으로도 존재합니다. –당신은 옳다고 생각했지만 존재 테스트에는'person_role_memberships.event_name = event.name'이 포함되어 있습니다. 'IN' 선택과 같습니다. –
그리고'select 1'은 무엇을합니까? –