Как автоматически упорядочить идентификатор в таблице базы данных после добавления новой строки?

0

Предположим, что у меня есть 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)

Как это сделать?

  • 0
    Является ли id столбцом auto_increment?
  • 0
    почему ты хочешь сделать это?
Показать ещё 4 комментария
Теги:
database
phpmyadmin
xampp

1 ответ

0

Используйте переменную 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);

Затем вы можете обновить идентификаторы с помощью переменной:

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    

Ещё вопросы

Сообщество Overcoder
Наверх
Меню