通过将数字递增3来插入到mysql中

时间:2015-06-04 06:24:27

标签: php mysql

我有一个mysql表来存储用户的身高。我的表看起来像这样:

@POST
@Path("/add")
public Response addUser(
    @FormParam("name") String name,
    @FormParam("age") int age) {

<================Do Whatever you need to do here ====================>

        return Response.status(200)
        .entity("addUser is called, name : " + name + ", age : " + age)
            .build();
 }

我的问题是我需要像这样CREATE TABLE height ( id INT AUTO_INCREMENT, feets_and_inches VARCHAR(10) DEFAULT NULL, centimeters INT NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

将厘米插入此表

我能否知道有没有办法使用循环来插入此值,而不是手动执行。

希望有人可以帮助我。 谢谢。

6 个答案:

答案 0 :(得分:1)

  

我能否知道有没有办法使用循环来插入此值,而不是手动执行。

一种方法是

$i=91;
while($i<=241)
{
    // insert $i as centimeters in a query
    $i+=3;
}

答案 1 :(得分:1)

如果你在MySQL中运行,你可以像这样创建一个从91到241的循环:

DELIMITER $$  
CREATE PROCEDURE CENTIMETERINSERT()
   BEGIN
    DECLARE count INT;
    DECLARE max INT;
    SET count=91;
    SET max= 241;
    WHILE(count < max) DO
        -- Run your insert here, replace my example select statement
        SELECT count;
        SET count=(count+3);
    END WHILE;
END $$

CALL CENTIMETERINSERT() $$

答案 2 :(得分:0)

以下是如何在mysql中执行此操作

BEGIN
        DECLARE i INT DEFAULT 91;
        WHILE (i<=241) DO
               //write your insert statement
               SET i=i+3;
        END WHILE;
END$$

答案 3 :(得分:0)

是的,您几乎可以使用任何类型的循环来执行此操作。我会推荐一个for循环如下:

for ($i=91; $i <= 241; $i +=3){
   //SQL insert code here
}

答案 4 :(得分:0)

也许您可以为此创建一个小程序并随时调用它:

CREATE PROCEDURE `add_centimeters`()

BEGIN

DECLARE counter int DEFAULT 91;

WHILE (counter < 242) DO
       INSERT INTO height(centimeters) VALUES (counter);
       SET counter =  counter + 3;
END WHILE;
END;

答案 5 :(得分:0)

$j = 91; 

 for($i=$j; $i<=241; $i++){

    // echo $i;
    // insert the below variable into table   
    $insert_it = $i; 

    ///  Put insert sql query below example is:
    // mysql_query("insert into tbl(`height`) values('$insert_it')");
    $i=$i+2;
}