mysql建立表中number_在MySQL中创建“数字表”

您缺少分号,逗号,甚至在更正语法之后,每次只是在循环中插入一行时,从表中选择max仍然不是一个好主意。

删除它并使用http://use-the-index-luke.com/blog/2011-07-30/mysql-row-generator中的生成器:

CREATE OR REPLACE VIEW generator_16

AS 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_256

AS SELECT ( ( hi.n << 4 ) | lo.n ) AS n

FROM generator_16 lo, generator_16 hi;

CREATE OR REPLACE VIEW generator_4k

AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n

FROM generator_256 lo, generator_16 hi;

CREATE OR REPLACE VIEW generator_64k

AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n

FROM generator_256 lo, generator_256 hi;

CREATE OR REPLACE VIEW generator_1m

AS 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值