2012-10-03 1 views
0

테이블에 date 열이 있습니다. 행에 대해 update 쿼리를 수행하면 date이 현재 날짜로 새로 고쳐질 때마다 나는 CURRENT_TIMESTAMP에 날짜의 디폴트 값을 설정했는데 왜 매번 이런 일이 발생합니까?테이블을 업데이트 할 때마다 SQL - 날짜 열이 자동으로 변경됩니다.

UPDATE

는 쿼리를 만들 내 :

CREATE TABLE `ACCOUNTS` (
    `id` bigint(7) unsigned NOT NULL AUTO_INCREMENT, 
    `name` varchar(30) DEFAULT NULL, 
    `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `status` varchar(1) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=1234567 DEFAULT CHARSET=latin1 
+5

업데이트 쿼리를 표시하십시오. –

+1

또한 테이블을 만드는 코드가 도움이 될 수 있습니다. – dan1111

+2

테이블에 이상한'AFTER UPDATE' 트리거가 발생하지 않습니까? – LittleBobbyTables

답변

0

그것은 아마 date 키워드되고 함께 할 수있는 뭔가입니다. 그것을 some_date으로 변경하십시오. 의도적입니까 CURRENT_TIMESTAMP입니까?

+0

을 참조하십시오. 감사합니다 : D –

+0

나 자신에 대한 설명이 없지만 한 번 같은 문제가있었습니다. 많은 시간을 낭비했습니다. – th3an0maly

0

기본값을 CURRENT_TIMESTAMP로 설정하면 sql은 새 레코드 만 만들 때 현재 타임 스탬프를 삽입하고 사용자가 직접 업데이트하지 않는 한 업데이트하지 않습니다. 새로 고침하면 타임 스탬프가 업데이트되지 않습니다.

+0

분명히, 테이블을 업데이트 할 때마다 날짜가 새로 고쳐집니다. 내 대답은 아래를 참조하십시오. 한 번만이 문제에 직면 한 기억이납니다. –

+0

쿼리를 게시하여 도움을 받으십시오. - 업데이트 쿼리는 이러한 동작을 일으키는 작업을 수행해야합니다. –

관련 문제