나는 MYSQL을 처음 사용하고 있으며이 포럼에서 해결할 수 없거나 많은 답변을 가지고 있어도이 진술의 오류를 식별 할 수 없습니다. MYSQL 데이터베이스를 사용하고 있습니다.
저는 Ratemaster와 요율이라는 2 개의 테이블이 있습니다. 여기에서 고객은 요율이 다른 하나의 제품을 가질 수 있습니다. Because of this, there is a duplication of customer and product fields, only the rate field changes. Now Table Ratemaster has all the fields : id, Customer code, Product, Rate, user whereas Table Rates has only: id, cust code, Rate, user. -user 필드는 session_user를 확인하기위한 것입니다.
이제 테이블 Ratemaster에는 Rate 필드가 비어있는 것을 제외하고 모든 필드 값이 동일한 3 개의 레코드가 있습니다.
Table Rates has different rates.
Rate 테이블의 Ratemaster에서 모든 요율을 업데이트하고 싶습니다. UPDATE
및 LIMIT
mysql 명령으로는이 작업을 수행 할 수 없으며 다음과 같은 오류가 발생합니다.
UPDATE 및 LIMIT의 잘못된 사용
UPDATE Ratemaster, Rates
SET Ratemaster.Rate=Rates.Rate
WHERE Ratemaster.user=Rates.user
LIMIT 1
해결 방법
다중 테이블 구문의 경우 UPDATE는 이름이 지정된 각 테이블의 행을 업데이트합니다. in table_references that satisfy the conditions. In this case, ORDER BY 및 LIMIT는 사용할 수 없습니다.
다음을 시도하십시오.
UPDATE Ratemaster
SET Ratemaster.Rate =
(
SELECT Rates.Rate
FROM Rates
WHERE Ratemaster.user = Rates.user
ORDER BY Rates.id
LIMIT 1
)
참조 페이지 https://stackoverflow.com/questions/9080403
'MySql' 카테고리의 다른 글
MySQL Joomla 1.7에서 AND로 'WHERE'절 조건을 작성하는 방법은 무엇입니까? 업데이트 할 데이터가 없습니다. (0) | 2020.09.22 |
---|---|
MySQL 중첩 된 쿼리를 기반으로 테이블에서 SQL-Delete (0) | 2020.09.22 |
MySQL 이진 데이터 유형에 MySql 삽입 문? (0) | 2020.09.22 |
MySQL SUM IF 필드 b = 필드 a (0) | 2020.09.22 |
MySQL SQL에서 기울기를 계산하는 방법 (0) | 2020.09.22 |
댓글