本帖最后由 default7 于 2013-11-21 17:14:50 编辑

解决方案 »

  1.   

    在MYSQL命令行下
    DELIMITER $$
    CREATE FUNCTION `count_users`() RETURNS INT(4)  
    BEGIN
    SET @num = (SELECT COUNT(user_id) AS num FROM ecs_users); 
    RETURN @num;
    END$$DELIMITER ;
      

  2.   

    CMD 中 运行之后提示如下:mysql> DELIMITER $$
    mysql> CREATE FUNCTION `count_users`() RETURNS INT(4)
        -> BEGIN
        -> SET @num = (SELECT COUNT(user_id) AS num FROM ecs3_users);
        -> RETURN @num;
        -> END$$
    ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQ
    L DATA in its declaration and binary logging is enabled (you *might* want to use
     the less safe log_bin_trust_function_creators variable)
    mysql>
    mysql> DELIMITER ;
    mysql>
      

  3.   

    DELIMITER $$
    CREATE FUNCTION `count_users`() RETURNS INT(4)
    READS SQL DATA 
    BEGIN
    SET @num = (SELECT COUNT(user_id) AS num FROM ecs3_users);
    RETURN @num;
    END$$
      

  4.   

    选择READS SQL DATA  也是error的?应该不会吧!