2012-02-01 2 views
1

2011 년 날짜가 mm/dd로만 입력되었으며 2012 년 기본값으로 설정된 일부 라이브 데이터베이스가 있습니다. (예 : 2011-03-16이 03-16으로 입력되고 2012-03-16으로 저장 됨)phpMyAdmin에서 sql을 사용하여 잘못된 연도로 날짜 필드를 변경했습니다.

결과적으로 db에는 향후 거래일이 있습니다. 나는 입력을 바로 잡기 위해 코드를 수정했다. 그러나 db의 잘못된 날짜를 고쳐야한다.

phpMyAdmin을 사용하여 수동으로 편집 할 수 있지만 시간이 걸릴 수 있습니다.

이상적인 솔루션은 phpMyAdmin의 SQL 창에서 이러한 날짜를 수정하는 SQL입니다.

SELECT created FROM posts WHERE created>'2012-02-01' 

을 다음 각 결과에서 일년 빼고 보관 :

선택이 될 것입니다.

다른 말로하면, 나는 각각 created 필드를 취해야하고 미래 날짜라면 1 년을 빼서 2011 년 날짜로하고 저장하십시오.

답변

1
UPDATE posts SET created = DATE_ADD(created, INTERVAL -1 YEAR) 
WHERE created > CURDATE() 
+0

감사합니다. 이것은 완벽하게 작동했습니다. – user191688

0
UPDATE testdate 
SET DATUM = DATE_ADD(datum, INTERVAL -1 YEAR) 
WHERE DATUM > NOW(); 
관련 문제