이 질문은 매우 간단하지만 "UPDATE JOIN INSERT"와 같은 다른 것들을 검색하여 아직 답을 찾지 못했습니다.UPDATE JOIN -> INSERT ON NULL
두 개의 테이블 ('main'및 'sub')에 대해 UPDATE가 필요하지만 하나의 데이터 세트가 존재하지 않을 수 있습니다. 이전에 실행 된 간단한 INSERT가 있어야합니다 ... 하나의 명령문에서.
'main'항상 존재합니다.
'하위'는 없습니다.
내 꿈-SQL-솔루션이 하나입니다
UPDATE main LEFT JOIN sub on main.primary=sub.primary
SET main.foo='bar', sub.foo2='bar2'
CASE sub.primary IS NULL {INSERT INTO sub SET sub.primary=main.primary};
'CASE' 부분은 자유형이며, 아마도 작동하지 않습니다. 하지만 올바른 방법은 무엇입니까?
반드시 "업데이트 [...] LEFT JOIN [...] SET a = aVal, b = bVal, [...]"- 명령문. LEFT JOIN 테이블을 최대 5 개까지 확장 할 수 있고 "SET (..) VALUES (..)"없이도 작업 할 수 있습니다.
가능한 해결책이 있습니까?
는 논리를 반전하고, 그것을 위해 구글 대신에 – Strawberry
INSERT INTO 테이블 ... 중복 키 업데이트 ... – Mike
이유는 '절대적으로 업데이트되어야합니다 [...] LEFT JOIN [...] SET a = aVal, b = bVal, [...] "- 성명서." – Pachonk