根据定义的次数插入多行的Mysql查询

时间:2017-01-22 11:30:32

标签: mysql

我想根据我输入的项目数量运行下面的查询,例如,我想在表格中添加5个玩具,因此查询将运行5次。

我的查询如下:

$q = 'INSERT INTO StockDetails (stockNumber, quantity, items) VALUES (".$snumber.", "1", "toys")';

我希望得到一个像这样的表:

ID      stockNumber       quantity      items
-----------------------------------------------
1        ST001               1           toys
2        ST001               1           toys
3        ST001               1           toys
4        ST001               1           toys
5        ST001               1           toys

所以,如果我把玩具的数量改为10,我会得到一张10行的桌子。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您希望insert个查询执行指定的次数,那么最好将其包含在function内,并将该函数调用number of rows作为一个参数,例如:

DELIMITER $$
DROP FUNCTION IF EXISTS `test`.`myfunction` $$
CREATE FUNCTION `test`.`myfunction` (count int, i_stockNumber varchar(20), i_quantity int, i_items int) RETURNS INT
DECLARE x INT;
SET x = 0;
BEGIN
    WHILE x <= count DO
        insert into StockDetails (stockNumber, quantity, items) values (i_stockNumber, i_quantity, i_items);
        SET x = x + 1;
    END WHILE;
  RETURN LAST_INSERT_ID();
END $$