假设我有一个包含 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,但我很乐意考虑任何方式。
最佳答案
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;
并重复其他范围。
关于mysql - 前缀 SQL 数据库条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4957198/