>데이터 베이스 >MySQL 튜토리얼 >내 MySQL UPDATE JOIN 쿼리에서 컴파일 오류가 발생하는 이유는 무엇입니까?

내 MySQL UPDATE JOIN 쿼리에서 컴파일 오류가 발생하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-07 09:29:16770검색

Why Does My MySQL UPDATE JOIN Query Produce a Compile Error?

조인 테이블 쿼리 업데이트 관련 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.