MySQL 函数 return 来自 table 行的值

MySQL function return value from row in table

我正在尝试 return 来自 table 的值。 table 是一个参数 table,将来会更改其值。 table 名称是 'Parameter',我试图从术语 = 'Base URL'

的值列中获取值

在 PHP 我的管理员中,我正在使用以下查询创建一个函数,它给我一个错误。我似乎找不到错误。

DECLARE @url VARCHAR;
SET @url = '';
SELECT p.value INTO @url FROM Parameters p WHERE p.Term = 'Base URL';
RETURN @url;

我在“DECLARE @url VARCHAR(255); SET @url = ''; SELECT p.value INTO @url FROM Param

附近收到错误 1064

我的错误在哪里?我找不到类似的情况。我过去曾使用过参数 tables,但从未创建过一个参数或与之配套的函数。有没有更好的方法来做我想做的事?

谢谢!

我试过像这样创建类似的功能并删除这一行使其工作

    DECLARE @url VARCHAR;

可能您对带@或不带@的变量有些混淆。这个link可能对你有用MySQL: @variable vs. variable. What's the difference?

还有一件事,有些人可能对分隔符有疑问。我得到这个工作

    DROP FUNCTION IF EXISTS get_url;

    DELIMITER $$
    CREATE FUNCTION get_url()
    RETURNS varchar(255)
    BEGIN 
      DECLARE url varchar(255);

        SELECT p.value INTO url FROM Parameters p WHERE p.Term = 'Base URL';

      RETURN url;
    END$$

    DELIMITER ;