Как присвоить каждой строке уникальный идентификатор и сбрасывать его при каждом запуске

#mariadb #navicat

#mariadb #navicat

Вопрос:

У меня есть представление, и я хочу присвоить каждой строке уникальный номер, и я хочу, чтобы приращение чисел всегда начиналось с 1 при каждом запуске, и я хотел бы, чтобы нумерация сбрасывалась на 1 при каждом изменении CustomerID.

Представления не поддерживают дополнительный запрос переменных в MariaDB, поэтому я пытаюсь создать функцию, на которую затем будет ссылаться представление.

 delimiter //

CREATE FUNCTION `func_inc_var_session`() RETURNS int
    NO SQL
    NOT DETERMINISTIC
     begin
      SET @var := @var   1;
       return @var;
     end
     //

delimiter ;
  

Комментарии:

1. Возможно, это то, что можно было бы сделать с помощью RANK или ROW_NUMBER оконных функций?

2. mysql.rjweb.org/doc.php/myisam2innodb#index_issue_2_column_pk