如何基于带有变量的SELECT语句创建表?我的意思是(简化示例):
SET @tmp = 0;
CREATE TABLE test AS
SELECT
(@tmp:=@tmp + 1) test,
...
FROM x
我使用MySQL 5.7。
答案 0 :(得分:2)
您的代码应该可以使用。您只需要给列命名:
SET @tmp = 0;
CREATE TABLE test AS
SELECT (@tmp := @tmp + 1) as test_id
...
FROM x;
您可以将其合并为一个语句:
CREATE TABLE test AS
SELECT (@tmp := @tmp + 1) as test_id
...
FROM x CROSS JOIN
(SELECT @tmp := 0) params;
Here是db <>小提琴