mysql error2 MySQL Error [1248]: Every derived table must have its own alias 에러 원인 1. MySQL은 파생 테이블이나 서브쿼리로 생성된 각 테이블에 대해 alias(별칭)이 필요하다. 2. 이 별칭은 쿼리 내에서 해당 테이블을 참조할 때 사용된다. 에러 쿼리 SELECT * FROM (SELECT point FROM post WHERE category = 'B' AND today_rank = 1) 해결 alias를 지정해준다. SELECT * FROM (SELECT point FROM post WHERE category = 'B' AND today_rank = 1) AS p 2024. 3. 16. MySQL Error [1093]: You can't specify target table 테이블명 for update in FROM clause 에러 원인 MySQL은 UPDATE, DELETE의 경우 SELECT와 달리 자기 테이블의 데이터를 바로 사용할 수 없다. 상황 A 카테고리에서 1등 게시글의 포인트 점수와, B 카테고리에서 1등 게시글의 포인트의 차이를 계산해서 gap column을 업데이트 하고 싶다. 테이블 정의 CREATE TABLE post ( id BIGINT AUTO_INCREMENT PRIMARY KEY, category VARCHAR(1) NOT NULL, today_rank BIGINT NOT NULL, point INT NOT NULL, gap INT NULL ); 에러 발생 쿼리 UPDATE post SET gap = point - (SELECT point FROM post WHERE category = 'B' AN.. 2024. 3. 16. 이전 1 다음