에는 meterreadings
이라는 테이블이 있습니다. 한 행에서 다른 행으로 속성 meterreading
을 복사해야합니다. 2 meterreadingtype_id
값이 1왜이 MySQL 업데이트가 작동하지 않습니까?
meterreadingtype_id
열을 기준으로
meterreading
모든 값을 복사 할, 그래서 기본적으로
id | meterreadingdate | meterreading | meterreadingtype_id | created
-------------------------------------------------------------------------------
1 | 2011-10-01 | 0 | 1 | 2011-10-15
2 | 2011-10-01 | 500 | 2 | 2011-10-15
: 여기
데이터의 샘플입니다 다음과 같아야합니다데이터가 완료되면 :
id | meterreadingdate | meterreading | meterreadingtype_id | created
-------------------------------------------------------------------------------
1 | 2011-10-01 | 500 | 1 | 2011-10-15
2 | 2011-10-01 | 500 | 2 | 2011-10-15
공지 사항 내가,122 때문에 이상 500 복사 그 도움이된다면 우리는 MySQL의 5 InnoDB의 테이블을 사용하는
update meterreadings mr1
set meterreading =
(
select
meterreading
from meterreadings
where
meterreadingtype_id = 2
and meterreadingdate = mr1.meterreadingdate
and location_id = mr1.location_id
and created = mr1.created
and asset_id = mr1.asset_id
)
where asset_id in (select id from assets where model_id in (select id from models where make_id IN (81, 82)))
and meterreadingtype_id = 1
: 59,953,210는 1이고 그 다음은 2
때문에 나는 다음 행에서 값을 가서 내가 사용하고있는 쿼리입니다.
죄송합니다. 게시하는 데 문제가 있습니다. 회사 방화벽이 실제 업데이트 진술을 차단하고 있습니다. – cbmeeks
오류가 발생하거나 0 행이 업데이트 되나요? –
@Michael 편집 해 주셔서 감사합니다. Corp 방화벽이 업데이트 진술을 게시하지 못하도록 차단했습니다. – cbmeeks