2011-02-10 76 views
1

我們只是說我有一個SQL數據庫,其中有10個條目。前綴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

非常好,非常感謝。我再也不能接受你的答案了,但我會盡快做到這一點。 – 2011-02-10 12:50:21