Как изменить и добавить колонку 'id' в моем представлении mysql - PullRequest
0 голосов
/ 30 августа 2018

У меня есть представление о MySQL, но у меня нет идентификатора столбца с ИИ, как я могу разобраться. Я попробовал это, но не сработало

ALTER view `user_address_view` add `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY

1 Ответ

0 голосов
/ 30 августа 2018

Вы путаете представления и таблицы. Когда вы изменяете представление, вам нужно предоставить запрос, который должен быть выполнен.

Вы можете сделать это в MySQL 8.0 как:

create view v as
    select row_number() over (order by ?) as id, t.*
    from t;

Вы можете сделать это в запросе как:

select (@rn := @rn + 1) as id, t.*
from t cross join
     (select @rn := 0) params;

К сожалению, MySQL не допускает использование переменных в представлениях, поэтому не существует эффективного способа сделать это в представлении.

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