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