这个可以写一个存贮过程,传统想法是写一个循环,然后insert,看了《mysql技术内幕》之后忽然发现还可以这样插入。
这个是利用了INSERT INTO xxx SELECT语句,其实目的就是减少循环插入的次数。
在终端中输入;可以先将语句分隔符换成其他字符。[delimiter] [other char]
mysql> create procedure createNums(max int unsigned)
-> begin
-> declare i int unsigned default 1;
-> truncate table nums;
-> insert into nums select i;
-> while i*2<max do
-> begin
-> insert into nums(a) select a+i from nums;
-> set i=i*2;
-> end;
-> end while;
-> delete from nums where a>max;
-> end;
-> ?

近期评论