zoukankan      html  css  js  c++  java
  • 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;;
  • 相关阅读:
    idea快捷的输出常用语句
    OneinStack基础搭建typecheo轻量级博客
    自动化框架介绍及使用
    jenkins配置自动化
    selenium模拟鼠标点击
    Linux下安装nginx
    解决“chrome正受到自动测试软件的控制”信息栏显示问题
    Git 常用操作
    ZendStudio自定义代码补全,自定义代码段
    07-python之装饰器
  • 原文地址:https://www.cnblogs.com/eastday/p/1784628.html
Copyright © 2011-2022 走看看