Php 通过将一个数字增加3来插入mysql
我有一个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
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,我将编辑我的答案。是的,我只是稍微编辑了一下,这样你就可以直接在命令行中运行它-只需将注释替换为插入。