MySQL函数从表中的行返回值

时间:2017-11-25 03:28:13

标签: mysql phpmyadmin mysql-error-1064

我正在尝试从表中返回一个值。该表是一个参数表,将来会更改它的值。表名是'参数'我试图从值列中获取值,该值为'基本网址'

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

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

我在" {{1}}"

附近收到错误1064

我的错误在哪里?我无法找到类似的情况。我过去使用过参数表,但从未创建过一个或一个函数来配合它。有没有更好的方法来做我想要的?

谢谢!

1 个答案:

答案 0 :(得分:1)

我试图创建类似这样的功能并删除此行使其工作

    DECLARE @url VARCHAR;

你可能在变量与@之间有一些混淆。此链接可能对您有用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 ;