mysql while循环; 选择并插入

Ash*_*ley 0 mysql while-loop

我正在尝试将表中的枚举移动到他们自己的表中,最简单的方法是运行一个SQL查询,我认为我可能会使用WHILE循环,但是在下面之前从未使用过的查询显然不起作用.是否可以执行以下操作:

WHILE (SET @cat = (SELECT DISTINCT `category` FROM `tablename`))
DO
  BEGIN
   INSERT INTO `categories` (title) VALUES (@cat);
  END;
END WHILE;
Run Code Online (Sandbox Code Playgroud)

sil*_*lly 5

为什么你不试图像这样直接插入类别:

INSERT INTO `categories`
(
    title
)
SELECT DISTINCT
    `category`
FROM `tablename`
Run Code Online (Sandbox Code Playgroud)