假设我有一个数据库表 services 一些数据比如 A (id=1), D (id=2), F (id=3), L (id=4), M (id=5)在mysql中。现在我想插入另一个服务 B 在里面 service 之后的表格 A 同时还要自动排序其他数据 id .所以 service 表是 A (id=1), B (id=2), D (id=3), F (id=4), L (id=5), M (id=6)怎么做?
services
A
D
F
L
M
B
service
id
gajydyqb1#
使用mysql变量。例如,如果您有:
create table services ( name varchar(10), id int ); insert into services (name, id) values ('A', 1); insert into services (name, id) values ('D', 2); insert into services (name, id) values ('F', 3); insert into services (name, id) values ('L', 4); insert into services (name, id) values ('M', 5);
然后插入新行 B :
insert into services (name, id) values ('B', null);
然后,可以使用变量更新ids:
set @newid = 0; update services set id = (@newid := @newid + 1) order by name;
结果:
name id ---------- -- A 1 B 2 D 3 F 4 L 5 M 6
1条答案
按热度按时间gajydyqb1#
使用mysql变量。
例如,如果您有:
然后插入新行
B
:然后,可以使用变量更新ids:
结果: