MySQL查询语句中的错误

时间:2011-01-06 08:46:39

标签: mysql sql mysql-error-1064

我正在尝试熟悉Mysql语法。到目前为止我只使用过MSSQL。我下载了MySQL Query Browser并安装了MySQL Version 5.1

我想在MySQL的结果集选项卡中运行这行代码,但我一直遇到以下错误

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'declare iCtr int'附近使用正确的语法

代码:

declare iCtr int;
set iCtr = 1;

while iCtr < 1000
begin
    insert into employee (emp_id,emp_first_name,emp_last_name,status_id)
      values (iCtr, 'firstName' + iCtr, 'lastName' + iCtr, 1)
      set iCtr = iCtr + 1;
end

我只想填充我的员工表,但我无法通过MySQL语法。

2 个答案:

答案 0 :(得分:1)

来自:http://dev.mysql.com/doc/refman/5.0/en/declare.html

  

DECLARE只允许在BEGIN ... END复合语句中使用,并且必须在任何其他语句之前的开头。

我认为这可能是麻烦吗?

答案 1 :(得分:1)

DELIMITER $$


DROP PROCEDURE IF EXISTS `procedurename`$$

CREATE PROCEDURE `procedurename`()
BEGIN
        declare iCtr int;
set iCtr = 1;

while iCtr < 1000 do

    insert into employee (emp_id,emp_first_name,emp_last_name,status_id)
      values (iCtr, 'firstName' + iCtr, 'lastName' + iCtr, 1);
      set iCtr = iCtr + 1;
end while;

    END$$

DELIMITER ;