循环MySQL以在表中插入数据

lskq00tm  于 2023-02-03  发布在  Mysql
关注(0)|答案(3)|浏览(168)

我正尝试在数据库中插入数据以便为每个号码分配一个ID

table numbers

id | number

1  | 2560
2  | 2561

这是针对100个数字的。我发现这是针对PL/SQL的

BEGIN
   FOR v_LoopCounter IN 2560..2660 LOOP
   INSERT INTO numbers (number)
   VALUES (v_LoopCounter);
END LOOP;
END;

也试过

BEGIN
   FOR v_LoopCounter IN 2560.2660 LOOP;
   INSERT INTO numbers (number);
   VALUES (v_LoopCounter);
END LOOP;
END;

我怎么能用phpMyAdmin在SQL中做到这一点,因为那是我可以使用的?我试过了,但我得到这个错误:
您的SQL查询中似乎存在错误。下面的MySQL服务器错误输出(如果存在)也可能有助于您诊断问题
我现在也试过了

SELECT * FROM table_name WHERE
BEGIN
       FOR v_LoopCounter IN 2560..2660 LOOP
       INSERT INTO numbers (number)
       VALUES (v_LoopCounter);
    END LOOP;
    END;
fykwrbwg

fykwrbwg1#

请尝试先选择一个数据库,否则您将收到未选择数据库错误

DROP PROCEDURE IF EXISTS myFunction;
delimiter $$

CREATE PROCEDURE myFunction()
     BEGIN
             DECLARE i INT DEFAULT 1;
             DECLARE j INT DEFAULT 0;
             DROP TABLE IF EXISTS test;
             CREATE TEMPORARY TABLE test
                 (id int, numbers int);

         WHILE (i<=100) DO
                SET j=i+2560;
                INSERT INTO test VALUES(i,j);
                SET i=i+1;
         END WHILE;

         select * from test;

         drop table test;

 END$$

然后调用该过程

delimiter ;

call myFunction();
soat7uwm

soat7uwm2#

  • --不能在PHPMyAdmin中使用FOR循环---
    使用此方法:-
    1.打印所有查询并复制。
    1.将其粘贴到sql选项卡中,然后按GO。
    1.好的。
    示例:-
str = "";
 for (let i = 8; i < 77; i++) {
     str = str + "HERE IS YOU QUERY YOU WANT... Like DELETE FROM tabel_name WHERE column_id=+i+;\n"
 }
 console.log(str);
v440hwme

v440hwme3#

试试看:

DELIMITER //
BEGIN
   FOR v_LoopCounter IN 2560..2660 LOOP
   INSERT INTO numbers (number)
   VALUES (v_LoopCounter);
END LOOP;
END
//

相关问题