Префикс записей базы данных SQL - PullRequest
1 голос
/ 10 февраля 2011

Скажем так, у меня есть база данных SQL с 10 записями.

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

Я хочу иметь возможность добавлять префикс кодовых записей всех строк идентификатора 1-5 к pre1. и всех строк идентификатора 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, но с удовольствием рассмотрю любые способы.

1 Ответ

2 голосов
/ 10 февраля 2011
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; 

и повторите для других диапазонов.

...