mysql> DELIMITER $$ mysql> DROP PROCEDURE IF EXISTS csdn.ptest$$ Query OK, 0 rows affected, 1 warning (0.01 sec)mysql> CREATE PROCEDURE csdn.ptest() -> BEGIN -> DECLARE i INT DEFAULT 0; -> DECLARE a INT DEFAULT 0; -> DECLARE X INT DEFAULT 8; -> SET i=1; -> WHILE i<5000 DO -> Display all 809 possibilities? (y or n) -> SET a=X+i; -> INSERT INTO test(bianhao,fenlei)VALUES(a,'建材'); -> Display all 809 possibilities? (y or n) -> SET i=i+1; -> END WHILE ; -> END$$ Query OK, 0 rows affected (0.01 sec)mysql> DELIMITER ; mysql> call csdn.ptest(); Query OK, 1 row affected (4.52 sec)mysql> select count(1) from test; +----------+ | count(1) | +----------+ | 4999 | +----------+ 1 row in set (0.00 sec)mysql>
DELIMITER $$ DROP PROCEDURE IF EXISTS csdn.ptest$$ CREATE PROCEDURE csdn.ptest() BEGIN DECLARE i INT DEFAULT 0; DECLARE a INT DEFAULT 0; DECLARE X INT DEFAULT 8; SET i=1; WHILE i<5000 DO SET a=X+i; INSERT INTO test(bianhao,fenlei)VALUES(a,'建材'); SET i=i+1; END WHILE ; END$$ DELIMITER ;
insert into `test`(`bianhao`,`fenlei`) Values(a,'建材');既然bianhao是 auto_increment则可以直接insert into `test`(`fenlei`) Values('建材');
id bianhao自增,不用写直接 insert into `test`(`fenlei`) Values('建材');
delimiter $$ create procedure ptest() begin declare i int default 0; declare x int default 100; while i<5000 do insert into `test`(`bianhao`,`fenlei`) Values(i+x,'建材'); set i=i+1; end while ; end $$ call ptest() $$
mysql> DELIMITER $$
mysql> DROP PROCEDURE IF EXISTS csdn.ptest$$
Query OK, 0 rows affected, 1 warning (0.01 sec)mysql> CREATE PROCEDURE csdn.ptest()
-> BEGIN
-> DECLARE i INT DEFAULT 0;
-> DECLARE a INT DEFAULT 0;
-> DECLARE X INT DEFAULT 8;
-> SET i=1;
-> WHILE i<5000 DO
->
Display all 809 possibilities? (y or n)
-> SET a=X+i;
-> INSERT INTO test(bianhao,fenlei)VALUES(a,'建材');
->
Display all 809 possibilities? (y or n)
-> SET i=i+1;
-> END WHILE ;
-> END$$
Query OK, 0 rows affected (0.01 sec)mysql> DELIMITER ;
mysql> call csdn.ptest();
Query OK, 1 row affected (4.52 sec)mysql> select count(1) from test;
+----------+
| count(1) |
+----------+
| 4999 |
+----------+
1 row in set (0.00 sec)mysql>
DROP PROCEDURE IF EXISTS csdn.ptest$$
CREATE PROCEDURE csdn.ptest()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE a INT DEFAULT 0;
DECLARE X INT DEFAULT 8;
SET i=1;
WHILE i<5000 DO
SET a=X+i;
INSERT INTO test(bianhao,fenlei)VALUES(a,'建材');
SET i=i+1;
END WHILE ;
END$$
DELIMITER ;
insert into `test`(`fenlei`) Values('建材');
bianhao也是自增的,但是不知道怎么实现,代码中就暂且用a代替。(这个也求助一下大大,如果bianhao也id之间有数值关系,是否可以id+x=bianhao的值)
从这里可以看出,这是3个字段吧。
如此即可.
他说的bianhao是根据规则比较 自增列i+X来赋值的,我存储过程里面就是根据楼主的意思 做了处理了。
是的,楼主说了bianhao是根据自增列的数值进行一个业务运算来赋值的。
create procedure ptest()
begin
declare i int default 0;
declare x int default 100;
while i<5000 do
insert into `test`(`bianhao`,`fenlei`)
Values(i+x,'建材');
set i=i+1;
end while ;
end $$
call ptest() $$