用于在mysql中向表中添加多个列的循环

时间:2013-07-24 20:16:43

标签: mysql database

以下循环的目的是创建10列并将它们命名为'col_20','col_21'... 。这个循环可以创建,但是当我试图运行它时发生语法错误。

这是我在Mysql中调用MYLOOP()后得到的内容

“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在第1行使用”0“附近的正确语法”

DELIMITER $$ 
CREATE PROCEDURE MYLOOP()
BEGIN  
          DECLARE i int;
          DECLARE str varchar(255);
          SET i = 20;
          WHILE i < 30 DO
                   SET str = CONCAT('col_',i);
                   SET @sql = 'ALTER TABLE TEST ADD '+ str + ' INT;';
                   SET i = i + 1;
                   PREPARE stmt FROM @sql;
                   EXECUTE stmt;
                   DEALLOCATE PREPARE stmt;
          END WHILE;
     END $$
DELIMITER ;

CALL MYLOOP();

0 个答案:

没有答案