次の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;
このスクリプトは機能していませんが、 内のすべての ID と名前を選択する必要がありますtable1
。これらのループで他のことも行うため、ループを使用していますが、それは後で行います。私は解決策を探していませんSELECT id, name FROM table1
が、エラーを修正したいと思います。だから私は私のループを続けることができます。
私が得るエラーは次のとおりです。
1064 - SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを参照して、1 行目の「loop1: LOOP INSERT INTO TempTable (id, name) SELECT id, name FROM table1」の近くで使用する正しい構文を確認してください。