나는 몇 가지 조건으로 mysql에서 'insert if'메커니즘을 구축하려고했습니다.
내가 그것을 구축하기 위해 따라 간 주제 : MySQL INSERT IF (custom if 문)
전체 코드는 다음과 같습니다.
insert into qualityScore (adGroupID, keywordID, qualityScore, day, clientID)
select 222, 212, 6, '2016-07-23', 5
where ( select qualityScore from qualityScore where adGroupID=222 and keywordID = 212 and day < '2016-07-23' ) <> 5
그러나 아래에는 약간의 문제가 있습니다.
(select qualityScore from qualityScore where adGroupID=222 and keywordID = 212 and day < '2016-07-23')
이 조각을 혼자 실행하면 다음과 같은 결과가 반환됩니다.
QualityScore
------------
5
얻을 것으로 예상되는 결과입니다. 하지만 '<> 5'부분을 코드에 추가하면 문제가 발생합니다.
(select qualityScore from qualityScore where adGroupID=222 and keywordID = 212 and day < '2016-07-23') <> 5
MySQL 1064 구문 오류 코드를 반환합니다. 내가 아는 한, 구문이 옳은 것처럼 보이며이 문제로 이어지는 요점을 찾을 수 없습니다.
모든 제안을 주시면 감사하겠습니다. 감사.
WHERE
절 없이는 절을 가질 수 없습니다 FROM
. 테이블없이 리터럴 만 선택하는 경우 더미 테이블을 사용하십시오 DUAL
.
insert into qualityScore (adGroupID, keywordID, qualityScore, day, clientID)
select 222, 212, 6, '2016-07-23', 5
from DUAL
where ( select qualityScore from qualityScore where adGroupID=222 and keywordID = 212 and day < '2016-07-23' ) <> 5
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다