2011-02-10 80 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