mysql - 使用 DECLARE 的未知系统变量

标签 mysql sql

我有以下 MySQL 查询。

DECLARE RecCount Int Default 0;
SET RecCount=(select count(*) from tables where WaiterID=1 and date(TDate)=date(now()));

当我执行它时,出现以下错误:

Error Code: 1193. Unknown system variable 'RecCount'

所以,我用谷歌搜索“在 MySQL 中声明变量”。似乎每个人都使用 DECLARE:

我不明白为什么我的查询没有执行。

我正在使用 MYSQL WORKBENCH 6.0 CE,我最终想在 PHP 中执行此查询。

编辑:
我使用默认值 0。如果我删除默认值 0,并将查询更改为我在下面编写的内容,它将执行。但它仍然没有像它应该的那样保存结果!

SET RecCount=(select count(*) from tables where WaiterID=1 and date(TDate)=date(now()));
SELECT RecCount;

最佳答案

您必须在过程或函数中运行该代码。

如果您使用控制语句,则必须在函数或过程中使用它们。

MySQL supports the IF, CASE, ITERATE, LEAVE LOOP, WHILE, and REPEAT constructs for flow control within stored programs.

Source

关于mysql - 使用 DECLARE 的未知系统变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19224213/

相关文章:

python - 如何创建自动更新的 sqlite 表?

mysql - 如何获取(Mysql 表中不存在的 ID 列表?

mysql - 插入不适用于 mysql 5.7.12-0?

MySQL 在一个表中,但不在具有特定 ID 的另一表中 - 查询给出太多结果?

php - 我的两个表 sql 查询有什么问题?

php - 如何输出使用别名的 MySQL 查询的结果?

mysql - 在一条记录sql中连接多个字段

php - PHP/MySQL与数据库的连接

mysql - 在sql中,如何根据列中的约束来计算列中值的百分比?

sql - 选择同一列上的两个计数