2012-11-23 3 views
2

이 문장이 ON UPDATE이라는 것을 알고 있습니다. 내 데이터베이스에 열을 만드는 데이 방법을 사용할 수 있습니까?이 값이 변경되면 다른 미리 정의 된 값이 0으로 설정되어 있습니까? 미리 감사드립니다. 값을 업데이트 할 때 값 변경

가 Exemple : 내가 첫 번째 행의 값을 업데이트 할 경우

id | value | type 
1  2  5 
2  4  6 
3  7  8 

, 난 유형은 0

+0

나는 질문 모르겠어요. 관련 예제 데이터와 함께 예제 입력 및 예상 결과를 제공하십시오. – ariefbayu

+0

새 새 행 집합 유형이 0 인 경우 업데이트 후 SQL의 트리거 기능을 사용할 수 있습니다. – Jivan

답변

2

에 대한 mysql trigger를 사용할 필요 : 매번 들어,이 후

CREATE TRIGGER auto_update_type BEFORE UPDATE 
ON your_table_name 
FOR EACH ROW BEGIN 

    if NEW.value <> OLD.value THEN 
     SET NEW.type = 0; 
    END IF; 
END; 

을 당신은 쿼리를 수행

UPDATE table_name SET value = '10' WHERE id = 1; 

값이 이전 값과 다르면 트리거가 실행되고 유형이 0

으로 설정됩니다.

여기에 phpMyAdmin에서 트리거를 설정하는 방법은 다음과 같습니다

enter image description here

0

하나의 솔루션으로보기 자동 설정하려면, 당신은 PHP의 도움으로이 작업을 수행 할 수 있습니다 암호.

업데이트 기능/동작이 트리거 될 때마다 먼저 유형 값도 업데이트하십시오.

+0

그래, 그렇게 할 수있는 SQL 방법이 없다 ...? – Weacked

+0

이 SQL에서도 가능합니다. 즉 첫 번째 값을 업데이트해도 함께 유형이 0으로 업데이트됩니다. – Suleman

0

PHP 스크립트의 insert, updatedelete에 대한 모든 액세스 권한을 제거하십시오. 대신 저장 프로 시저를 사용하십시오. 그런 식으로 데이터베이스 자체를 돌보고 자체 일관성을 유지할 수 있습니다.

0

이 행 당신은 예를 들어, 변경 때마다 행에 대해 실행됩니다 트리거를 만들 필요가

관련 문제