解决方案 »

  1.   


    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> 
      

  2.   

    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 ;
      

  3.   

    insert into `test`(`bianhao`,`fenlei`)       Values(a,'建材');既然bianhao是 auto_increment则可以直接insert into `test`(`fenlei`)       Values('建材');
      

  4.   

    id  bianhao自增,不用写直接
    insert into `test`(`fenlei`)  Values('建材');
      

  5.   


    bianhao也是自增的,但是不知道怎么实现,代码中就暂且用a代替。(这个也求助一下大大,如果bianhao也id之间有数值关系,是否可以id+x=bianhao的值)
    从这里可以看出,这是3个字段吧。
      

  6.   

    自增列不能有两个.id为自增列,必为PK. bianhao可以为逻辑上的自增列,在存储过程里取id的值,运算以后赋给bianhao.
    如此即可.
      

  7.   


    他说的bianhao是根据规则比较 自增列i+X来赋值的,我存储过程里面就是根据楼主的意思 做了处理了。
      

  8.   


    是的,楼主说了bianhao是根据自增列的数值进行一个业务运算来赋值的。
      

  9.   

    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() $$