2013-02-05 3 views
-4

데이터가 변경되지 않으면 테이블을 업데이트하고 싶습니다. SQL 서버 MySQL에서 가능하지만 어떻게 할 수 있습니까?데이터가 변경되지 않으면 MySQL 테이블의 데이터를 업데이트하십시오.

MySQL을 나는 데이터의 변경이없는 경우 데이터를 업데이트 할

DROP TABLE IF EXISTS PEOPLE; 
CREAte tempORARY table PEOPLE 
(
    _data CHAR(1), 
    id int 
); 

INSERT into PEOPLE 
SELECT 'N',1 UNION ALL 
SELECT 'Y',2 UNION ALL 
SELECT 'N',3 UNION ALL 
SELECT 'Y',4; 

-- now I want to update it 
UPDATE PEOPLE 
SET _data = 'A' 
WHERE id = 1; 
-- 1 row(s) affected 

-- now I want to update it again 
UPDATE PEOPLE 
SET _data = 'A' 
WHERE id = 1; 
-- 0 row(s) affected 

. 당신은 여전히 ​​의심이있는 경우

SQL 서버

DECLARE @tempORARY table 
(
    _data CHAR(1), 
    id int 
); 

INSERT into @tempORARY 
SELECT 'N',1 UNION ALL 
SELECT 'Y',2 UNION ALL 
SELECT 'N',3 UNION ALL 
SELECT 'Y',4; 

-- now I want to update it 
UPDATE @tempORARY 
SET _data = 'A' 
WHERE id = 1; 
-- 1 row(s) affected 

-- now I want to update it again 
UPDATE @tempORARY 
SET _data = 'A' 
WHERE id = 1; 
-- 1 row(s) affected 

나는 내 질문을 삭제 희망, 의견을주십시오.

+2

내가 돈을 도움 알았어. 더 많은 정보를 추가 할 수 있습니까? –

+0

조금 더 설명 할 수 있습니까? * 데이터에 변경 사항이없는 경우 데이터를 업데이트하려고합니다. * - 변경 사항이 없는지 어떻게 알 수 있습니까? –

+0

그것은 MySQL의 기본 동작이며 사용자가 변경할 수 있다고 생각하지 않습니다. –

답변

0

난 아직도 당신이 그런 짓을 할 이유를 알고하지 않습니다 ...하지만 WHERE 절

뭔가 같은 사용에 대한 방법 :

UPDATE @tempORARY 
SET _data = 'A' 
WHERE id = 1 AND _data != 'A'; 

희망이

+0

SQL 서버에서 가능하기 때문에 MySQL에서이 작업을 수행 할 수 있기를 바랍니다. – vikas

관련 문제