테이블이 _field
입니다. 이제 어떤 이유에서 block
이라는 테이블 내부의 필드가 엉망이되어 잘못된 블록 번호를 포함하게되었습니다. _field
에 대한 기본 데이터가 있지만 일부 외국 필드는 외부 제약 조건으로 인해 더 이상 기본 데이터가 될 수 없기 때문에 기본 데이터를 복원 할 수 없습니다. 그래서 지금은 tmp_field
이라는 새 테이블을 만들고 데이터에 기본값 _field
을 채 웁니다.다른 필드를 건드리지 않고 테이블의 id 필드를 업데이트해야합니다.
지금, 나는 _field
에서 데이터를 받아 tmp_field
에서 block
번호와 일치하는 _field
에 block
모든 숫자를 변경하는 쿼리가 필요합니다.
가 될 구문 다른 방법 : 그것은 _field
의 각 행을 검사하여 어떤 필드 (같은 fieldid
또는 name
)이 tmp_field
동일한 필드와 일치하는 경우, 다음의 값과 일치하도록 _field
블록의 값을 변경
tmp_field
의 블록
참고 : PostgreSQL 9.1을 사용하고 있습니다.
모든 것에 대해 감사드립니다.
아, 특히 빠른 응답을 주셔서 감사합니다. 비슷한 것을 시도했지만'FROM' 절을 몰랐기 때문에 작동하지 않았습니다. 또한,'fieldid'는'_field.fieldid' 일 필요가 있습니다. 이것은'name'과 동일하지만, 그래도 작동합니다. 무리 감사. – zermy
@ zermy : 귀하의 의견에 대한 답변이 업데이트되었습니다. –