大きな親テーブルから小さなテーブルを作成するスクリプトを作成しようとしています。 (私はこの場合は選択肢がありません)しかし、深刻なSQLの仕事をしなければならなかったので、しばらくしてきました。おそらく何か愚かなものに悩まされています...これは最初のカップル爆発せずに行を。変数を割り当てるMySqlエラー
DELIMITER $$
BEGIN
SET @I = 1;
SET @CountCol = 'Item Number';
SET @StartPos = 0;
SET @EndPos = 24999;
SET @TotalCount = (SELECT Count(@CountCol) FROM `All_Info`);
SET @HowMany = CEILING(@TotalCount/25000) + 1;
WHILE @I < @HowMany DO
SET @query = CONCAT('CREATE TABLE All_Info_',@I,' AS (SELECT @n := @n + 1 `id`, * FROM All_Info LIMIT ',@StartPos,',',@EndPos,'),PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;)');
PREPARE stmt from @query;
EXECUTE stmt;
SET @I = @I + 1;
SET @StartPos = @EndPos;
SET @EndPos = @EndPos + 25000;
END WHILE;
END$$
私が手にエラーがある:
[クエリ1でERROR]あなたのSQL構文でエラーが発生しています。あなたのMySQLサーバのバージョンに対応するマニュアルを調べて、正しい構文が2行目の 'SET @I = 1'の近くで使用するようにしてください。
私は狂った薬を飲んでいるようです。私が間違っていることは何ですか?
(注:何とか関連性がある場合には、私のクライアントとして続編Proを使用して)、
あなたは潜在的なセミコロンの問題だと思いますか? – JoshKopen
私はそれが間違いなく停止しているにもかかわらず、私には分かりません。私はそれを理解できません。 – tobybot