[SQL] MySQL은 # 1093 - 당신은 FROM 절에서 업데이트 대상 테이블 '경품'을 지정할 수 없습니다
SQLMySQL은 # 1093 - 당신은 FROM 절에서 업데이트 대상 테이블 '경품'을 지정할 수 없습니다
나는 시도했다 :
UPDATE giveaways SET winner = '1' WHERE ID = (SELECT MAX(ID) FROM giveaways)
그러나 제공합니다 :
이 문서에서는 관련 보이지만 내 쿼리에 적응 할 수 없다. 어떻게이 일에받을 수 있나요?
해결법
-
==============================
1.당신의 업데이트가 순환 될 수 있기 때문입니다 ... 어떤 레코드가 WHERE 조건 FALSE를 만든있는 일이 뭔가 원인이 업데이트 있다고하면? 당신은 그런 경우가 아니라는 것을 알고 있지만, 엔진은하지 않습니다. 또한 동작 테이블에 반대하는 잠금 장치가있을 수 있습니다.
당신의 업데이트가 순환 될 수 있기 때문입니다 ... 어떤 레코드가 WHERE 조건 FALSE를 만든있는 일이 뭔가 원인이 업데이트 있다고하면? 당신은 그런 경우가 아니라는 것을 알고 있지만, 엔진은하지 않습니다. 또한 동작 테이블에 반대하는 잠금 장치가있을 수 있습니다.
나는 당신이 (안된) 이런 식으로 그것을 할 수 있다고 생각합니다 :
UPDATE giveaways SET winner = '1' ORDER BY id DESC LIMIT 1
자세히보기
-
==============================
2.이 일을해야 링크 된 문서의 정보를 기반으로 :
이 일을해야 링크 된 문서의 정보를 기반으로 :
update giveaways set winner='1' where Id = (select Id from (select max(Id) as id from giveaways) as t)
-
==============================
3.
update giveaways set winner=1 where Id = (select*from (select max(Id)from giveaways)as t)
-
==============================
4.
create table GIVEAWAYS_NEW as(select*from giveaways); update giveaways set winner=1 where Id=(select max(Id)from GIVEAWAYS_NEW);
-
==============================
5.임시 테이블을 사용합니다 :
임시 테이블을 사용합니다 :
로 다음과 같습니다 :
UPDATE TABLE_NAME SET TABLE_NAME.IsActive=TRUE WHERE TABLE_NAME.Id IN ( SELECT Id FROM TEMPDATA ); CREATE TEMPORARY TABLE TEMPDATA SELECT MAX(TABLE_NAME.Id) as Id FROM TABLE_NAME GROUP BY TABLE_NAME.IncidentId; SELECT * FROM TEMPDATA; DROP TABLE TEMPDATA;
-
==============================
6.먼저 서브 쿼리의 뷰를 작성하고 대신 뷰에서 업데이트 / 삭제 선택 할 수 있습니다 .. 그냥 후 볼을 드롭해야합니다.
먼저 서브 쿼리의 뷰를 작성하고 대신 뷰에서 업데이트 / 삭제 선택 할 수 있습니다 .. 그냥 후 볼을 드롭해야합니다.
from https://stackoverflow.com/questions/8333376/mysql-1093-you-cant-specify-target-table-giveaways-for-update-in-from-clau by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 왜 UDF 너무 느린 서브 쿼리보다? (0) | 2020.04.26 |
---|---|
[SQL] SQL PIVOT 및 문자열 연결 집계 (0) | 2020.04.26 |
[SQL] 서브 타입의 참조 무결성을 구현하는 방법 (0) | 2020.04.26 |
[SQL] 엔티티 프레임 워크 - 저장 프로 시저의 반환 값 (0) | 2020.04.26 |
[SQL] 정규 표현식은 일반 SQL 구문에 맞게? (0) | 2020.04.26 |