Py学习  »  DATABASE

mysql中的创建函数错误[42000][1064]

Wenjun Chi • 4 年前 • 531 次点击  

我想在MySQL中创建一个函数( :5.7.21-log),代码如下:

CREATE FUNCTION uf_sum(left INT, right INT)
  RETURNS INT
  BEGIN
    RETURN left + right;
  END

但收到一条错误消息:

[2020-01-18 16:01:29] [42000][1064] 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 'left INT, right INT)
[2020-01-18 16:01:29] RETURNS INT
[2020-01-18 16:01:29] BEGIN
[2020-01-18 16:01:29] RETURN left + right;
[2020-01-18 16:01:29] END' at line 1

我在谷歌上搜索,得到一段代码,它可以正确执行:

CREATE FUNCTION sp_cal_max(p_num1 INT, p_num2 INT)
  RETURNS INT
  BEGIN
    IF p_num1 >= p_num2
    THEN
      RETURN p_num1;
    ELSE
      RETURN p_num2;
    END IF;
  END

.

谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53160
 
531 次点击  
文章 [ 1 ]  |  最新文章 4 年前
sticky bit
Reply   •   1 楼
sticky bit    4 年前

left right reserved words

CREATE FUNCTION uf_sum(`left` INT, `right` INT)
  RETURNS INT
  BEGIN
    RETURN `left` + `right`;
  END

或者重新命名。