• Mysql错误集


    今天使用Mysql写函数,遇到了不少问题,现在将遇到的问题,和解决方法写下来.

    第一:mysql中,每一行都需要加一个分号, - -!

    第二:在mysql的函数中, 不能返回结果集.所以不能使用select * from tablename ,select column_name from tablename 等方式.否则要报错not allowed to return aresult  set from a function.此时改成 Select xx into 方式即可..

    第三:错误提示:"This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary"

      应该是我们开启了bin-log, 我们就必须指定我们的函数是否是 
       1 DETERMINISTIC 不确定的 
       2 NO SQL 没有SQl语句,当然也不会修改数据 
       3 READS SQL DATA 只是读取数据,当然也不会修改数据 
       4 MODIFIES SQL DATA 要修改数据 
       5 CONTAINS SQL 包含了SQL语句 

     其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。 如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。 

    我们可以通过设置如下的参数来关掉这个。 

    SET GLOBAL log_bin_trust_function_creators = 1; 

    最后完成的代码如下:

    代码
    CREATE DEFINER = CURRENT_USER FUNCTION `func_get_city_name`(`cid` int)
    RETURNS varchar(50)
    BEGIN
    DECLARE result varchar(50);
    SET result = '' ;
    SELECT region_name INTO result FROM vsvt_region WHERE region_id = cid;
    RETURN result;
    END;;
  • 相关阅读:
    mybatis的分页插件pagehelper的使用
    SSM框架中添加事务
    junit测试,spring中使用
    maven的聚合和继承,maven的依赖
    shiro的角色和权限
    tomcat配置虚拟文件路径
    通过HttpServletRequest的request获取各种路径
    shiro学习一
    JDBC
    GUI
  • 原文地址:https://www.cnblogs.com/eastday/p/1784628.html
Copyright © 2020-2023  润新知