局部变量语法错误

时间:2015-03-14 13:06:22

标签: mysql c stored-procedures

我试图在C语言中使用MySQL API创建一个过程。我的查询字符串如下(在C代码中):

"CREATE PROCEDURE clockOut (taskID INT UNSIGNED) "
"BEGIN "
"DECLARE @username VARCHAR(8);"
"SELECT @username = userID FROM TaskItem WHERE id=taskID;"
"UPDATE TaskItem SET onClock=0,stopTime=NOW() "
"WHERE id=taskID AND userID=@username;"
"END"

此字符串最终将与mysql_query()一起传输,返回错误代码1064,语法错误。我做错了什么?

1 个答案:

答案 0 :(得分:1)

正如@alk建议的那样,我从变量中删除了@语法,并且运行正常。