我们假设我有一个包含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.
,所以我最终得到:< / p>
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,但我很乐意考虑任何方式。
答案 0 :(得分: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;
并重复其他范围。