MySQL 4.1.7-log创建函数遇ERROR 1064,求语法修正方案
MySQL 4.1.7-log 自定义函数创建语法错误修正
服务器环境信息
C:\Appserv\mysql\bin\mysql.exe Ver 14.7 Distrib 4.1.7, for Win95/Win98 (i32) Connection id: 296 Current database: Current user: ODBC@localhost SSL: Not in use Using delimiter: ; Server version: 4.1.7-log Protocol version: 10 Connection: localhost via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 TCP port: 3306
原函数创建语句
CREATE FUNCTION IF NOT EXISTS isNumeric (input VARCHAR(255)) RETURNS INT DETERMINISTIC RETURN input REGEXP '^[0-9]+\\\\.?[0-9]*$';
错误日志
ERROR 1064 (42000): 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 'IF NOT EXISTS isNumeric (input VARCHAR(255))
修正方案
MySQL 4.1版本不支持CREATE FUNCTION IF NOT EXISTS语法,该语法在MySQL 5.0及以上版本才被引入。直接去掉IF NOT EXISTS即可修复语法错误,修正后的语句如下:
CREATE FUNCTION isNumeric (input VARCHAR(255)) RETURNS INT DETERMINISTIC RETURN input REGEXP '^[0-9]+\\.?[0-9]*$';
内容的提问来源于stack exchange,提问作者Rona Idea
相关产品推荐
相关产品推荐

