Удалена средняя строка mysql и исправлен первичный ключ в порядке - PullRequest
0 голосов
/ 18 октября 2018

У меня есть таблица с идентификатором, который является первичным ключом, активированным с 20 вставленными данными.и я удалил строку 15,16,17 и как мне организовать увеличение заказа с 1 до 17

   CREATE TABLE `cart` (
    `id` int(255) NOT NULL,
    `productname` varchar(255) NOT NULL,
    `productquantity` varchar(255) NOT NULL,
    `productsize` varchar(255) NOT NULL,
    `productprice` varchar(255) NOT NULL

)

1 Ответ

0 голосов
/ 18 октября 2018
  • Определяет номер строки для каждой строки в порядке возрастания id, начиная с 1 в производной таблице.
  • Присоедините эту производную таблицу к основной таблице и обновите idзначение должно быть равно row_number.Это сбросит все значения id, начиная с 1 (без пробелов).

Try (работает для всех версий MySQL):

UPDATE your_table AS t1 
JOIN  
(
  SELECT @row_no := @row_no + 1 AS row_num, 
         id  
  FROM your_table
  JOIN (SELECT @row_no := 0) AS init 
  ORDER BY id 
) AS dt ON dt.id = t1.id  
SET t1.id = dt.row_num;

DBСкрипка ДЕМО

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...