2011-02-10 4 views
1

그냥 10 개의 항목이있는 SQL 데이터베이스가 있다고 가정 해 봅시다.접두사 SQL 데이터베이스 항목

id | code | name 
------------------------- 
1 | 00001 | Entry 1 
2 | 00002 | Entry 2 
3 | 00003 | Entry 3 
4 | 00004 | Entry 4 
5 | 00005 | Entry 5 
6 | 00006 | Entry 6 
7 | 00007 | Entry 7 
8 | 00008 | Entry 8 
9 | 00009 | Entry 9 
10 | 00010 | Entry 10 

나는 ID의 1-5 pre1.와 모든 라인의 코드 항목과 ID의 6-10 pre2.와의 모든 라인을 앞에 할 수 있도록하려면, 그래서 나는이와 끝까지 :

id | code   | name 
------------------------------- 
1 | pre1.00001 | Entry 1 
2 | pre1.00002 | Entry 2 
3 | pre1.00003 | Entry 3 
4 | pre1.00004 | Entry 4 
5 | pre1.00005 | Entry 5 
6 | pre2.00006 | Entry 6 
7 | pre2.00007 | Entry 7 
8 | pre2.00008 | Entry 8 
9 | pre2.00009 | Entry 9 
10 | pre2.00010 | Entry 10 

이 작업을 수행 할 수 있습니까? 가급적이면 phpMyAdmin 또는 MySQL Workbench를 사용하고 싶지만 어떤 방식 으로든 기꺼이 고려해보십시오.

답변

2
UPDATE 
    yourTable 
SET 
    code = CONCAT(
    IF(id BETWEEN 1 AND 5, 
     'pre1.', 
     'pre2.'), 
    code); 

이상의 일반적인 경우

UPDATE 
    yourTable 
SET 
    code = CONCAT('pre1',code) 
WHERE 
    id BETWEEN 1 AND 5; 

과 다른 범위에 대한 반복합니다.

+0

완벽한, 정말 고마워. 나는 다른 6 분 동안 당신의 대답을 받아 들일 수 없다. 그러나 가능한 한 빨리 그렇게 할 것이다. –

관련 문제