0

以下循环的目的是创建 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();
4

0 回答 0