慕村225694
您缺少分号,逗号,甚至在更正语法之后,每次只是在循环中插入一行时,从表中选择max仍然不是一个好主意。删除它并使用http://use-the-index-luke.com/blog/2011-07-30/mysql-row-generator中的生成器:CREATE OR REPLACE VIEW generator_16AS SELECT 0 n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15;CREATE OR REPLACE VIEW generator_256AS SELECT ( ( hi.n << 4 ) | lo.n ) AS n FROM generator_16 lo, generator_16 hi;CREATE OR REPLACE VIEW generator_4kAS SELECT ( ( hi.n << 8 ) | lo.n ) AS n FROM generator_256 lo, generator_16 hi;CREATE OR REPLACE VIEW generator_64kAS SELECT ( ( hi.n << 8 ) | lo.n ) AS n FROM generator_256 lo, generator_256 hi;CREATE OR REPLACE VIEW generator_1mAS SELECT ( ( hi.n << 16 ) | lo.n ) AS n FROM generator_64k lo, generator_16 hi;如果出于某种原因,你真的需要一个数字表来做:INSERT INTO numbers(number)SELECT n FROM generator_64k WHERE n < 64000