2011-02-10 5 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分間受け入れることはできませんが、できるだけ早くそうしていきます。 –

関連する問題