【问题标题】:Prefix SQL database entries为 SQL 数据库条目添加前缀
【发布时间】:2011-06-24 20:08:38
【问题描述】:

假设我有一个包含 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,但我很乐意考虑任何方法。

【问题讨论】:

    标签: mysql phpmyadmin mysql-workbench


    【解决方案1】:
    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; 
    

    并重复其他范围。

    【讨论】:

    • 完美,非常感谢。再过 6 分钟我不能接受你的回答,但我会尽快接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多