programing

오래된 last_update 레코드일 때 삽입 무시

bestprogram 2023. 7. 31. 21:32

오래된 last_update 레코드일 때 삽입 무시

마리아 DB에 몇 개의 열이 있는 테이블이 있습니다.

키는 같지만 데이터가 약간 오래된 레코드가 이미 존재할 가능성이 높습니다.그리고 항상 데이터베이스에 더 업데이트된 기록이 필요합니다.

그러므로 내가 사용하는 데이터를 삽입하기 위해

insert into ... on duplicate key update

다음과 같은 경우:

name = values(name), heart_rate= values(heart_rate), last_updated = values(last_updated) etc

문제는 네트워크 정체로 인해 오래된 값이 업데이트된 값보다 늦게 나타날 수 있다는 것입니다.삽입되는 각 레코드에는 날짜인 last_updated 필드도 있습니다.

새로 받은 레코드의 마지막_업데이트가 다음에서 실행되는 경우

insert into ... on duplicate key update

저는 그것이 무시되기를 바랍니다.이것이 가능합니까?내 데이터베이스가 가장 최근에 업데이트된 필드의 레코드만 가질 수 있는 방법이 있습니까?

당신의.ON DUPLICATE KEY UPDATE ...이미 가지고 있어야 합니다.WHERE안 보여줬으니까 이건 추측입니다.

통합할 수 있습니다.WHERE기준 조건last_updated열 및 응용 프로그램에서 전달하는 값을 입력합니다.이것은 이렇게 보일 것입니다.

 WHERE <<incoming_id>> = id
   AND <<incoming_last_updated>> > last_updated

만약 당신이 들어오는 경우last_updated값이 테이블에 이미 있는 값보다 이전이거나 동일합니다.WHERE절이 일치하는 행이 없으므로,...UPDATE...아무것도 하지 않습니다.

언급URL : https://stackoverflow.com/questions/49235810/ignore-insert-when-older-last-updated-record