2013-05-14 28 views
1

嗨即時試圖在數據庫中插入數據ASIGN一個ID,每個號碼循環Mysql的使用phpMyAdmin

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。

謝謝!

我試圖在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; 
+0

您可以在任何SQL屏幕上執行此操作...剪切和粘貼。 – Sablefoste 2013-05-14 14:59:24

+0

我無法修復語法錯誤。因爲我沒有看到它......也許這就是爲什麼我認爲,這段代碼不會在sql上運行phmyadmin – 2013-05-14 15:04:29

+0

'SELECT * FROM WHERE 1BEGIN ...'你在WHERE語句中留下了1,並且需要引用別名表名。將其更改爲'SELECT * FROM yourAliasTableName WHERE BEGIN' – Sablefoste 2013-05-14 15:07:51

回答

0

嘗試:

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

#1064 - 您的SQL語法錯誤; 'FOR v_LoopCounter IN 2560..2660 LOOP INSERT INTO numbers(number)VALUES(v'at line 2 – 2013-05-14 15:21:23

0

試試這個 選擇一個數據庫第一你會得到沒有數據庫選擇錯誤

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