IT

MariaDB에서 조인된 테이블을 기반으로 행을 업데이트하려면 어떻게 해야 합니까?

itgroup 2022. 11. 8. 21:47
반응형

MariaDB에서 조인된 테이블을 기반으로 행을 업데이트하려면 어떻게 해야 합니까?

다음과 같은 SQL이 있습니다.

UPDATE "user_login a" 
    LEFT OUTER JOIN "p_pegawai b" 
    ON a.id_pegawai = b.id  
    SET a.password = 'Keluarga1'  
    WHERE b.NIP = '195812' 

MySql Update A가 테이블에 참여했습니다.

하지만 그것은 항상 나에게 오류를 준다.

SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서에서 "user_pegawai a" LEFT OUTER JOIN "p_pegawai b" ON a.id_pegawai = b.id SET a.passw" 근처에서 사용할 올바른 구문을 확인하십시오.

저는 Mysql이 아닌 MariaDB를 사용하고 있는데, 제 쿼리에 어떤 문제가 있을까요?

MySQL에서 backticks를 사용하지만 결합된 테이블 및 별칭에는 적용하지 마십시오. 이러한 항목은 별도의 항목으로 취급해야 합니다.

UPDATE `user_login` a 
    LEFT OUTER JOIN `p_pegawai` b
    ON a.id_pegawai = b.id  
    SET a.password = 'Keluarga1'  
    WHERE b.NIP = '195812' 

현재 테이블 이름 전체를 큰따옴표로 묶어서 별칭으로 표시하고 있습니다.큰따옴표를 삭제하면 업데이트 쿼리가 작동합니다.

UPDATE user_login a 
LEFT JOIN p_pegawai b
    ON a.id_pegawai = b.id
SET a.password = 'Keluarga1'  
WHERE b.NIP = '195812';

큰따옴표(백틱과 함께)는 열 또는 테이블 이름을 이스케이프하는 방법이지만, 이 작업을 수행할 필요는 없습니다.

언급URL : https://stackoverflow.com/questions/47546152/how-to-update-a-row-based-a-joined-table-in-mariadb

반응형