반응형
다중 업데이트 mysql
다음 쿼리에 문제가 있습니다.
insert into table
select *
from table
on duplicate key update field1 = field1 + 10
테이블 1개의 필드를 업데이트하려고 합니다. 테이블의 모든 행을 업데이트해야 하므로 UPDATE 문을 사용할 수 없습니다.쿼리 mysql을 실행하려고 하면 다음 오류가 반환됩니다.
ERROR 1052 (23000): Column 'field1' in field list is ambiguous
"table" 및 "field1"은 예제 이름입니다.
--업데이트--
쿼리는 다음과 같습니다.
insert into table
select *
from table
where field2 < 1000
on duplicate key update field1 = field1 + 10
시도해보기도 했습니다.
update table
set field1 = field1 + 10
where field2 < 1000
그러나 업데이트된 모든 행에 필드 1 = 10이 있으며, 합계가 작동하지 않습니다.
"table"은 SQL에서 특수/예약된 단어입니다.다른 이름 ex로 변경합니다."내 테이블"
UPDATE mytable
SET
field1 = field1 + 10
WHERE
field2 < 1000;
이름표를 사용해서도 가능할 것 같은데, 어쨌든 여기 삽입을 사용해서 하는 답이 있습니다.
INSERT INTO table (id, field1, field2) VALUES(1, "value1","value2") ON
DUPLICATE KEY UPDATE field1= field1+10 WHERE field2 < 1000
어떤.field1
당신은 원하나?아까 그거.SELECT
또는 표의 열이 업데이트되고 있습니까?
다음과 같은 정보 대신 이 정보를 사용하는 시기에 대한 설명서를 참조하십시오.
... UPDATE field1 = VALUES(field1) + 10
언급URL : https://stackoverflow.com/questions/44082953/multiple-update-mysql
반응형
'programing' 카테고리의 다른 글
Ajax 성공 후 페이지 다시 로드 (0) | 2023.08.14 |
---|---|
Pandas: Excel 시트에서 항상 첫 번째 시트/탭 선택 (0) | 2023.08.14 |
안드로이드용 스칼라 프로그래밍 (0) | 2023.08.14 |
단일 C 파일의 FFT (0) | 2023.08.09 |
오라클의 클로브에서 서브스트링을 추출합니다. (0) | 2023.08.09 |