您会丢失分号,逗号,即使在更正语法之后,每次仅在循环中再插入一行也不是一个好主意。
从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



