2011-03-10 9 views
0

전체 mysql 테이블의 행을 편집하고 싶습니다.mysql 테이블을 편집

행 년에서 테이블 비디오에서 :

여기서 핵심은 내가 원하는 것입니다 기본적인 프로그래밍이가 내가하고 싶은 것입니다, 그래서

정말 전혀 mysql을 모르는 19/20 앞에 추가하고 추가하지 마십시오.

if (year < 50) 
    year = year+2000 
else 
    year = year+1900 

어떻게하면됩니까?

+4

''19 "'또는''"20 "'대신에'1900' 또는'2000'을 추가하면됩니까? –

+1

나는'year> = 50'을 의미한다고 생각합니다. –

답변

3

이 시도 :

UPDATE yourtable 
SET year = year + IF(year >= 50, 1900, 2000) 

이 작동합니다 모두 당신의 열은 정수형, 또한 문자 유형이면됩니다.

+0

나는 이것을 시도했지만 그것이 거꾸로 생각한다. 저는 2089와 1911을 얻었습니다 (예). – switz

+0

@ 스 위츠 : 나는 그것이 당신의 질문이라고 생각합니다. ;-) 이제 실제로 * 물어 본 것 대신에 * 물어볼 질문에 대답하도록 업데이트했습니다. 질문을 변경해야합니다. –

+0

하! 너 나 잡았어. 죄송합니다 : P – switz

0
mysql> create table years (year int); 

// populate 
mysql> INSERT INTO years VALUES (50); 
mysql> INSERT INTO years VALUES (90); 
mysql> INSERT INTO years VALUES (40); 
mysql> INSERT INTO years VALUES (85); 

// update 
mysql> UPDATE years SET year = CASE WHEN year < 50 THEN 1900 + year ELSE 2000 + year END; 

// check 
mysql> SELECT * FROM years; 
+------+ 
| year | 
+------+ 
| 2050 | 
| 2090 | 
| 1940 | 
| 2085 | 
+------+ 
관련 문제