一次将多个(多个)行插入表中

时间:2018-04-21 02:21:01

标签: mysql

如何插入mysql表,示例INSERT INTO users(user_id,time,)VALUES(1-500,1524275145)在我的情况下需要插入到TABLE用户500行,形式为1-500(它的用户ID),所有用户具有相同的值time

2 个答案:

答案 0 :(得分:0)

您的案例的示例查询将是这样的:

 INSERT INTO users (user_id,time) VALUES
 (1, 1524275145),
 (2, 1524275145),
 (3, 1524275145),
 (4, 1524275145);

依此类推,直到500.最好的方法是在for循环中创建查询。

答案 1 :(得分:0)

我试过这个,它正在运作:

首先执行此代码段以在数据库中创建一个过程,以便我们以后可以调用它(第二个代码段)并执行将1-500值插入users {{1}的查询}列。 (您可以看到值user_id500的两个变量,您可以看到执行查询的行1。)

第一个代码段(尝试与下一个分开执行)

VALUES (user_id_val, 1524275145)

第二段:

DROP PROCEDURE IF EXISTS insert_loop;

DELIMITER # 
CREATE PROCEDURE insert_loop() 
BEGIN 
    DECLARE user_id_max INT UNSIGNED DEFAULT 500;
    DECLARE user_id_val INT UNSIGNED DEFAULT 1;
    START transaction;
        WHILE user_id_val < user_id_max+1 DO
            INSERT INTO users (user_id, time) 
            VALUES (user_id_val, 1524275145);
            SET user_id_val = user_id_val + 1;
        END WHILE;
    COMMIT;
END #

在第一个(单独)之后执行此操作。