MySQL создает временную таблицу с автоинкрементом только из SELECT
С MySQL я знаю, что можно создать временную таблицу из SELECT: создать временную таблицу в операторе SELECT без отдельной CREATE TABLE
Я также знаю, что можно создать автоинкремент во временной таблице: автоинкремент во временной таблице
Я хочу сделать и то и другое одновременно: создать временную таблицу из инструкции SELECT, и я хочу, чтобы во временной таблице был столбец с автоинкрементом.
Это возможно сделать?
1 ответ
Решение
Если вы хотите создать временную таблицу со столбцом номера строки, используйте переменные:
create temporary table temp as
select (@rn := @rn + 1) as seqnum, t.*
from t cross join
(select @rn := 0) vars;
Это не будет автоматически увеличиваться для новых insert
s. Если вам это нужно, вам нужно изменить определение таблицы.