MySQL 将返回值赋给变量

标签 mysql

您如何声明变量并设置一个值,该值是稍后查询它们的返回值。

示例存储过程:

DELIMITER $$

CREATE PROCEDURE `sampledb`.`SetVariableEx`()

    BEGIN

        -- declare variable
        DECLARE xVarA INT;                
        DECLARE xVarB INT;      

        -- in this line, i would like to set a value on xVarA which is a COUNT
        -- of record from table SINGLETABLE
        -- i am getting error on this line.
        SELECT xVarA := COUNT(*) FROM SingleTable;

        -- the value of xVarA is added by 1 and set it to xVarB
        SET xVarB = xVarA + 1;

        -- insert the value of xVarB to the table SINGLETABLE
        INSERT INTO SingleTable(SingleColumn) VALUES (xVarB);

        -- lastly, display all records.
        SELECT * FROM SingleTable;

    END$$

DELIMITER ;

我该怎么做?

最佳答案

尝试以下操作:

SET xVarA := (SELECT COUNT(*) FROM SingleTable);

然而,对于这个例子,你有没有考虑过using an auto auto-incrementing value ,而不是自己管理值(value)?

关于MySQL 将返回值赋给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8787726/

相关文章:

mysql - 查询返回上个月的变化

php - 无法用php连接数据库

php - MySQL/PHP - 经过一定时间后自动更新列

php - Laravel:在 DDBB 上添加新列而不删除数据

php - Magento 静态 CMS block 存储在哪里?

mysql - 使用 Selenium 和 Testng 通过 Eclipse 从 Excel 将数据插入 MySQL

MySQL 触发器重复数据

mysql - 连接两个表,其中一个表具有特定值

mysql - Group by 不是计算数量和价格吗?

基于多个where子句的M​​ysql记录