我有以下 MySql 脚本:
SET @skip = 0;
SET @max = (SELECT COUNT(*) FROM table1);
CREATE TEMPORARY TABLE TempTable(
id INT NOT NULL,
name VARCHAR(32) NOT NULL
);
loop1: LOOP
INSERT INTO TempTable (id, name) SELECT id, name FROM table1 LIMIT @skip, 1;
IF @skip < @max THEN
SET @skip = @skip + 1;
ITERATE loop1;
END IF;
LEAVE loop1;
END LOOP loop1;
SELECT * FROM TempTable;
此脚本不起作用,但它应该选择table1
. 我正在使用一个循环,因为我还将在这些循环中做其他事情,但那是为了以后。我不是在寻找类似的解决方案,SELECT id, name FROM table1
但我希望修复我的错误。所以我可以继续我的循环。
我得到的错误是:
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'loop1: LOOP INSERT INTO TempTable (id, name) SELECT id, name FROM table1' 附近使用正确的语法