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