MySQL存储过程语法错误排查:删除无效邮箱的存储过程报错#1064
解决MySQL存储过程#1064语法错误问题
你的存储过程报错是因为DELETE语句末尾缺少分号;,MySQL要求存储过程中的每条SQL语句必须以分号结尾,否则解析器无法正确识别语句边界,导致END附近报错。
修正后的代码如下:
CREATE PROCEDURE DeleteInvalidEmail () BEGIN DELETE FROM mockdata__2_ WHERE email NOT REGEXP '@+'; END
额外注意事项(针对命令行执行场景)
如果是在MySQL命令行客户端执行这段代码,还需要先修改语句分隔符,避免MySQL把DELETE后的分号当成整个存储过程的结束符:
DELIMITER // CREATE PROCEDURE DeleteInvalidEmail () BEGIN DELETE FROM mockdata__2_ WHERE email NOT REGEXP '@+'; END // DELIMITER ;
内容的提问来源于stack exchange,提问作者Geo
相关产品推荐
相关产品推荐

