Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL在循环抛出错误时_Mysql_Sql_While Loop - Fatal编程技术网

MySQL在循环抛出错误时

MySQL在循环抛出错误时,mysql,sql,while-loop,Mysql,Sql,While Loop,我有这个SQL,但是当我运行它时,我得到了一个错误(SQL语法),MySQL说它接近,而@count>-1设置@count=@count-1。我已尝试将while包装在开始中。。。结束块,但这根本不影响它 由于MySQL的错误非常模糊,我无法找出我做错了什么 我确信它非常简单,但已经很晚了,我一辈子都无法发现它。您不能在mysql客户端命令行中运行此代码。您可以在存储过程/函数或触发器的主体中使用复合语句您不能仅在mysql客户端命令行中运行此代码。您可以在存储过程/函数或触发器的主体中使用复合

我有这个SQL,但是当我运行它时,我得到了一个错误(SQL语法),MySQL说它接近
,而@count>-1设置@count=@count-1。我已尝试将while包装在
开始中。。。结束块,但这根本不影响它

由于MySQL的错误非常模糊,我无法找出我做错了什么


我确信它非常简单,但已经很晚了,我一辈子都无法发现它。

您不能在mysql客户端命令行中运行此代码。您可以在存储过程/函数或触发器的主体中使用复合语句

您不能仅在mysql客户端命令行中运行此代码。您可以在存储过程/函数或触发器的主体中使用复合语句

不是@count of type
table
而不是int?我想您应该使用
select@count=count(*)from tableName…
如何运行此代码?据我所见,它应该在触发器体内。是不是@count of type
table
而不是int?我想您应该使用
select@count=count(*)from tableName…
如何运行此代码?据我所见,它应该在扳机体内。
SELECT COUNT(*) INTO @count FROM `tableName` WHERE `id` = OLD.id;

WHILE @count > -1 DO
    SET @count = @count - 1;
    /* loop logic in here */
END WHILE;