조인 테이블 쿼리 업데이트 관련 MySQL 문제
MySQL 조인 쿼리를 사용하여 테이블을 업데이트하려고 시도하는 중에 사용자에게 컴파일 오류가 발생했습니다. 그들이 사용한 쿼리는 다음과 같습니다.
UPDATE b SET b.mapx = g.latitude, b.mapy = g.longitude FROM business AS b INNER JOIN business_geocode g ON b.business_id = g.business_id WHERE (b.mapx = '' OR b.mapx = 0) AND g.latitude > 0
필드 이름이 정확함에도 불구하고 쿼리를 컴파일하지 못했습니다.
해결책:
시급 쿼리를 분석한 결과, 표시된 것처럼 열 이름 앞에 테이블 별칭을 배치하면 오류를 해결할 수 있음을 발견했습니다. 아래:
UPDATE business AS b INNER JOIN business_geocode AS g ON b.business_id = g.business_id SET b.mapx = g.latitude, b.mapy = g.longitude WHERE (b.mapx = '' or b.mapx = 0) and g.latitude > 0
업데이트:
사용자가 쿼리로 인해 여전히 구문 오류가 발생했음을 확인한 후 구문을 확인하기 위해 테스트 테이블이 생성되었습니다. 수정된 쿼리는 MySQL 5.5.8에 대해 테스트되었으며 아래와 같이 구문 오류가 발생하지 않았습니다.
mysql> UPDATE business AS b -> INNER JOIN business_geocode AS g ON b.business_id = g.business_id -> SET b.mapx = g.latitude, -> b.mapy = g.longitude -> WHERE (b.mapx = '' or b.mapx = 0) and -> g.latitude > 0; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0
위 내용은 내 MySQL UPDATE JOIN 쿼리에서 컴파일 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!