php - mysql存储过程中如何使用赋值运算符

标签 php mysql stored-procedures

    DECLARE sp_ApplicationId char(38);
    SET sp_ApplicationId = UUID();

   IF(EXISTS(SELECT sp_ApplicationId = ApplicationId FROM aspnet_Applications WHERE       LOWER(sp_ApplicationName) = LoweredApplicationName)) THEN

               SELECT 'Application Name Already Exist';

我想在满足条件时将应用程序 ID 分配给 sp_ApplicationId 我使用了 = 运算符,但它只比较值。 我也试过 := operator 但它显示以下错误:

 Error code 1064, SQL state 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':= ApplicationId FROM aspnet_Applications WHERE LOWER(sp_ApplicationName) = Lowe' at line 14 

请帮我解决这个问题。

最佳答案

尝试改变:

SELECT sp_ApplicationId = ApplicationId FROM aspnet_Applications WHERE       LOWER(sp_ApplicationName) = LoweredApplicationName

到:

SELECT 1 FROM aspnet_Applications WHERE       LOWER(sp_ApplicationName) = LoweredApplicationName

更新 如果您尝试将 ApplicationId 的值分配给 sp_ApplicationId 变量,您可以尝试:

SELECT ApplicationId INTO sp_ApplicationId FROM aspnet_Applications WHERE       LOWER(sp_ApplicationName) = LoweredApplicationName

关于php - mysql存储过程中如何使用赋值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17464183/

相关文章:

php - Laravel,如何通过redirect() route() 传递对象?

php - mysql获取行内存错误

mysql - 鸡尾酒配方的数据库结构

php - 获取日期之间的记录

php - 在 PHP 中拉取 GD 生成图像的远程 URL

mysql - 如何使用此查询将动态表名传递到 mySQL 过程中?

sql-server - 创建带有空值参数的存储过程

asp.net - 通过 IN 子句对 SQL Server 结果进行排序

php - 显示每个 id 的表内容

javascript - 使用 JavaScript 将数据发送到 MySQL