PostgreSQL 데이터베이스에 두 개의 테이블이 있습니다. table1, table2. 둘 다 id 열을 포함합니다. table2의 열 (예 : col1)을 table1 (table1.id = table2.id)에 추가하고 싶습니다.
SQLalchemy를 통해이 점을 찍으려고합니다. 다음과 같은 오류가 계속 발생합니다.
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.SyntaxError) syntax error at or near "INNER"
다음은 코드 스 니펫입니다.
engine = create_engine(...)
with engine.connect() as con:
con.execute("ALTER TABLE table1 ADD COLUMN col1 text")
con.execute("UPDATE table1 \
INNER JOIN table2 ON table1.id = table2.id \
SET table1.col1 = table2.col1")
이 오류가 발생하는 이유는 무엇입니까?
PostgreSQL은 UPDATE...JOIN
MySQL 및 MS Access와 같은 기능을 지원하지 않습니다 . 그러나 Postgres는 다음 항목도 지원 UPDATE...FROM
합니다 UPDATE...FROM...JOIN
.
con.execute("""UPDATE table1 t1
SET col1 = t2.col1
FROM table2 t2
WHERE t1.id = t2.id""")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다