mysql function 1064_mysql 创建 function 错误 1064解决方案
发布日期:2021-06-24 17:07:55 浏览次数:2 分类:技术文章

本文共 758 字,大约阅读时间需要 2 分钟。

在mysql5.1创建function时,总是报下面的错误

#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 ” at line 4

检查很多遍都没发现语法错误,苦恼很久。

后上网查到,是因为mysql分隔符的问题,默认是以;作为分隔符,而function或者procedure里面很多时候都要用分号,所以造成这个问题。

解决方法是用DELIMITER //预先定义分隔符,这样就解决了这个问题。存档以防将来之需。

如下是创建随机字符串的function

DELIMITER //

CREATE FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET utf8

BEGIN

DECLARE chars_str varchar(100) DEFAULT ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789’;

DECLARE return_str varchar(255) DEFAULT ”;

DECLARE i INT DEFAULT 0;

WHILE i < n DO

SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));

SET i = i +1;

END WHILE;

RETURN return_str;

END; //

转载地址:https://blog.csdn.net/weixin_34007963/article/details/113282282 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql 输出解释怎么看_如何解释MySQL EXPLAIN的输出?
下一篇:mysql select unique_SQL / mysql - 选择distinct / UNIQUE但返回所有列?

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月19日 01时23分33秒