Php 通过将一个数字增加3来插入mysql

Php 通过将一个数字增加3来插入mysql,php,mysql,Php,Mysql,我有一个mysql表来存储用户的身高。我的桌子看起来像这样: 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; DELIMITER $$ CREATE PROCEDURE CENTIME

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

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;
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() $$
我的问题是我需要在这个表中插入厘米,像这样91,94,97100。。。。。高达241

我可以知道有没有一种方法可以使用循环插入此值,而不是手动插入

希望有人能帮助我。 多谢各位

我可以知道有没有一种方法可以使用循环插入此值,而不是手动插入

一种方法是

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

如果您在MySQL中操作,可以创建一个从91到241的循环,如下所示:

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

下面是如何在mysql中实现这一点

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

是的,您几乎可以使用任何类型的循环来实现这一点。我建议使用如下for循环:

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

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

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;

你的PHP代码在哪里?我们可以用mysql自己来做吗?是的,@MCC如果你不想使用PHP,为什么要把PHP作为一个标签呢?哎呀;我没有看到他增加了3,我将编辑我的答案。是的,我只是稍微编辑了一下,这样你就可以直接在命令行中运行它-只需将注释替换为插入。