이 에러는 키가 아닌 칼럼으로 수정을 시도했기 때문에 발생합니다. 여기서 키(key)란 테이블의 모든 튜플을 식별하거나 다른 테이블과 관계를 맺기 위해 특정 칼럼에 지정해 사용하는 개념으로 기본키, 외래키 등이 있습니다. 그런데 UPDATE 문은 반드시 키를 조건으로 대상을 찾아야 합니다.
에러가 발생하지 않도록 burgers 테이블의 기본키를 가지고 조건을 작성해 보겠습니다. burgers 테이블의 기본키는 id입니다. 빅맨 버거의 id는 1이므로 WHERE 절의 name = '빅맨' 조건을 id = 1로 수정한 후 실행합니다.
UPDATE burgers
SET price = 500
WHERE id = 1;
값이 잘 수정됐는지 확인하기 위해 SELECT 문으로 burgers 테이블을 조회합니다. 빅맨 버거의 가격이 500으로 바뀌었다면 성공입니다.
-- burgers 테이블 조회
SELECT *
FROM burgers;
그림 2-18 실행 결과