bzh_516 发表于 2016-05-20 14:51

id自增,如何修改session_id为空置为上记录的session_id

库表结构
id      session_id      name         
1          1               张三   
2                           张三
3          2               张三
4                           张三
5                           张三
6          3               张三
7                           张三
8                           张三
9                           张三
10                         张三
11      4               张三
12                         张三

我想把id为2的第2条session_id 值置为1
id为4、5的session_id 值置为2
id为7、8、9、10的session_id 值置为3
id为12的session_id 值置为4

求各位指教,非常感谢

seesea2517 发表于 2016-05-20 16:48

回复 1# bzh_516


先生成数据吧,然后再回导就可以了:mysql> set @last_id := -1;
set @new_session_id := -1;

select id, new_session_id, name
from
(
        select *, @new_session_id := ifnull(session_id, @last_id) as new_session_id, @last_id := @new_session_id
        from tbtest
) as tmp;
Query OK, 0 rows affected

Query OK, 0 rows affected

+----+----------------+------+
| id | new_session_id | name |
+----+----------------+------+
|1 |            1 | 张三 |
|2 |            1 | 张三 |
|3 |            2 | 张三 |
|4 |            2 | 张三 |
|5 |            2 | 张三 |
|6 |            3 | 张三 |
|7 |            3 | 张三 |
|8 |            3 | 张三 |
|9 |            3 | 张三 |
| 10 |            3 | 张三 |
| 11 |            4 | 张三 |
| 12 |            4 | 张三 |
+----+----------------+------+
12 rows in set
页: [1]
查看完整版本: id自增,如何修改session_id为空置为上记录的session_id