我有想给 id(471-541)中的没一个用户增加一条相同数据,请问mysql中怎么写这个循环语句

解决方案 »

  1.   

     insert [table](name,author)values('默认数据',[id])中 这个[id]就是我要循环插入的变量
      

  2.   

    insert into [table](name,author)values('默认数据',[id])中 这个[id]就是我要循环插入的变量
      

  3.   

    CREATE TEMPORARY TABLE seqnumber
    (
      id int not null auto_increment primary key,
      flag bit
    ) auto_increment=471 ENGINE=MEMORY;INSERT INTO seqnumber(flag)
        SELECT 0 FROM information_schemas.COLUMNS LIMIT 70;CREATE TEMPORARY TABLE tmp_tb ENGINE=MEMORY
    AS
        SELECT
            A.id,'username' AS username
        FROM seqnumber AS A
            LEFT JOIN tb AS B
               ON A.id=B.id
        WHERE B.id IS NULL;INSERT tb(id,username) SELECT * FROM tmp_tb;
      

  4.   

    DELIMITER $$
    drop procedure if exists ff $$
    CREATE    /*[DEFINER = { user | CURRENT_USER }]*/
        PROCEDURE `rr`.`ff`()
        /*LANGUAGE SQL
        | [NOT] DETERMINISTIC
        | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
        | SQL SECURITY { DEFINER | INVOKER }
        | COMMENT 'string'*/
        BEGIN
    declare i integer;
    set i=1;
    while i<=100 do
    begin
    操作
    end;
    end while;    END$$DELIMITER ;
      

  5.   

    我想直接写循环语句,不想通过用户表把id获得,因为在我数据库表中,我有一个表是[albums]相册表,当每一位用户注册时就自动为其创建一个默认相册,因为有来清理数据,不小心把用户的默认相册全部清空,所以想通过一个简单的循环,直接给每个用户创建一个默认相册
      

  6.   

    DELIMITER $$
    drop procedure if exists ff $$
    CREATE PROCEDURE `rr`.`ff`()
          BEGIN
    declare i integer;
    set i=471;
    while i <=541 do
    begin
    操作
    SET I=I+1;
    end;
    end while;    END$$DELIMITER ;
      

  7.   

    谢谢 wwwwb 不过有点问题,出现下面的错误提示:
       You have an error in your SQL syntax:check the manual tahe coprresponds to your MySQL server verion for the right synrax to user near' DELIMITER $$ 
    drop procedure if exists ff $$ 
    CREATE PROCEDURE `rr`.`ff`()' 
    at line 1
     
    那个操作那点我想写的是 insert into localtest(name,author) values('默认相册',????); name='默认相册',是固定的;author 就是要循环的那个i的值,可以写完整下吗,谢谢,mysql 才开始弄
      

  8.   

    我是在SQLYOG 下测试通过的,你在SQLYOG下试试
    DELIMITER $$DROP PROCEDURE IF EXISTS `rr`.`ff`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `ff`()
    BEGIN
    declare i integer;
    set i=1;
    while i<=100 do
    begin
    insert into localtest(name,author) values('默认相册',i);
    SET I=I+1;
    end;
    end while;
        END$$DELIMITER ;
      

  9.   

    insert [table] (name, author) select '默认数据', id from [user_table] where id >= 471 and id <= 541
      

  10.   

    我也要直接的可以进行LOOP的sql,这样是方便数据库操作呢