2017-12-30 11 views
1

테이블의 상태 열을 업데이트하려고하지만 메시지의 날짜 열도 업데이트됩니다. 날짜 필드가없는 상태 열만 업데이트 할 수 있습니까?다른 데이터를 변경할 때 날짜를 변경하지 않는 방법은 무엇입니까?

데이터 형식 :

Status => Varchar 
messgae_date => Timestamp 

검색어 :

"UPDATE mytable SET status='1' WHERE status='0'" 

감사의 전 ..

+1

정말로 트리거가 발생하지 않았습니까? 당신이 게시 한 것은 그렇게하지 않을 것입니다. –

+0

나는 트리거를 사용하지 않는다. – Aditya

+0

@Aditya -'mytable'은'update' 트리거를 가지고 있나 없습니까? –

답변

0

질문을 편집하고 테이블을 만들기위한 전체 DDL 문을 게시하시기 바랍니다. 나는 그것이 분명해질 것이라고 믿는다.

귀하의 게시물에 따르면 message_date는 타임 스탬프입니다. 이는 MySql과 MariaDb의 특별한 데이터 유형으로, 삽입시 또는 행의 다른 데이터가 변경 될 때마다 자동으로 업데이트 될 수 있습니다. 행의 다른 칼럼의 값은 현재 값에서 을 변경할 때

자동 - 업데이트 열

자동 전류 소인으로 갱신된다. 다른 모든 열이 현재 값으로 설정된 경우 자동 업데이트 된 열은 변경되지 않습니다. 다른 열이 변경 될 때 자동 업데이트 된 열이 업데이트되지 않게하려면 명시 적으로 현재 값으로 설정하십시오. 자동 업데이트 된 열을 다른 열이 변경되지 않는 경우에도 업데이트하려면 명시 적으로이 값을 값으로 설정하십시오 (예 : CURRENT_TIMESTAMP로 설정).

다시 DDL 문을 게시하십시오. message_date 열은 아마도 다음과 같이 보일 것입니다.

`message_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 
관련 문제