这是我尝试运行下图所示的查询时得到的错误。
错误代码: 1064. 你的SQL语法有错误;请检查你的MySQL服务器版本对应的手册,以了解在第1行 "DECLARE productCount INT DEFAULT 0 "附近使用的正确语法。
我在ubuntu上使用Mysql工作台。
你只能在例程中声明变量。
DECLARE只能用于触发器,函数和存储过程betewenn BEGIN和END见 mysql maual
如果你想使用一个变量,声明一个用户定义的变量,比如@msg
use testdb;
SET @msg := 'testme if you can';
SET @testcount := 0;
SELECT @msg,@testcount + 1;
结果:在存储过程中只能使用DECLARE。
# @msg, @testcount + 1
testme if you can, 1
只能在存储过程中使用DECLARE。下面是一个简单的例子,将两个变量传递给存储过程,并在存储过程中声明一个变量。
CREATE DEFINER=`myslq_user`@`%` PROCEDURE `createRecord`(IN _name NVARCHAR(255), IN _userID int)
BEGIN
DECLARE val INT DEFAULT 0;
INSERT INTO tbldata (Name, UserID, Value) VALUES (_name, _userID, val);
END IF;
END