[SQL] 오류로 실패 업데이트 쿼리 : 1175
SQL오류로 실패 업데이트 쿼리 : 1175
나는 다음과 같은 쿼리를 사용하여 테이블을 업데이트하려합니다
update at_product A join
(
SELECT atbillfields.billeditemguid,count(*) AS numberOfPeopleBought
,sum(atbillfields.billeditemqty) AS soldquantity
FROM jtbillingtest.at_salesbill atsalesbill
JOIN jtbillingtest.at_billfields atbillfields
ON atsalesbill.billbatchguid=atbillfields.billbatchguid
WHERE atsalesbill.billcreationdate BETWEEN '2013-09-09' AND date_add('2013-09-09', INTERVAL 1 DAY)
GROUP BY atbillfields.billeditemguid) B ON B.billeditemguid = A.productguid
SET A.productQuantity = A.productQuantity - B.soldquantity
그러나, 다음과 같은 예외를 받고 :
내가 A.productQuantity = 1과 같은 업데이트와 where 절을 준 경우, 특히 것을 업데이트되었습니다.
내가 쿼리를 실행할 수 없습니다 오전 방법이 문제를 해결하기 위해 왜 캔 사람이 포인트?
해결법
-
==============================
1.에서보세요 :
에서보세요 :
http://justalittlebrain.wordpress.com/2010/09/15/you-are-using-safe-update-mode-and-you-tried-to-update-a-table-without-a-where-that-uses-a-key-column/
당신이없이 업데이트 할 경우에 당신은 어디에 키 실행해야합니다
SET SQL_SAFE_UPDATES=0;
바로 쿼리 전에.
또 다른 옵션은 키를 포함하도록 쿼리를 다시 작성하는 것입니다.
-
==============================
2.당신이 안전 갱신 모드에서 작동하고있는이 오류 수단 따라서 두 가지 옵션이 있습니다 :
당신이 안전 갱신 모드에서 작동하고있는이 오류 수단 따라서 두 가지 옵션이 있습니다 :
-
==============================
3.당신은 MySQL의 워크 벤치에 시도 할 수 있습니다
당신은 MySQL의 워크 벤치에 시도 할 수 있습니다
편집으로 이동 -> 환경 설정
클릭 "SQL 편집기"탭을 선택을 취소 "안전 업데이트"확인란
쿼리 -> 서버에 다시 연결 (다음 로그 아웃하고 로그인)
나는 당신을 위해 도움이되기를 바랍니다.
-
==============================
4.MySQL은 5.5에서는 다음 MySQL의 워크 벤치를 사용하는 경우
MySQL은 5.5에서는 다음 MySQL의 워크 벤치를 사용하는 경우
이 작동합니다.
from https://stackoverflow.com/questions/18767308/update-query-failing-with-error-1175 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 특정 컬럼이 SQL에서 호출 SYS_REFCURSOR 함수 반환 (0) | 2020.07.17 |
---|---|
[SQL] 어떻게 where 절에 삽입 (0) | 2020.07.17 |
[SQL] 고유 식별자에 VARCHAR에서 SQL 변환이보기에 실패 (0) | 2020.07.17 |
[SQL] 하나 INSERT 명령과 복수의 열을 삽입 (0) | 2020.07.17 |
[SQL] 엔티티 프레임 워크와 타임 스탬프 열을 기준으로 선택의 새로운 기록 (0) | 2020.07.17 |