我正在尝试使用phpmyadmin创建一个mysql存储过程:
CREATE PROCEDURE AddTableColumn()
BEGIN
IF (SELECT COUNT (table_name)
FROM information_schema.tables
WHERE table_name IN ('authors', 'publishers') = 2 )
print 'specified tables exist...';
ELSE
print 'specified tables unavailable...';
END IF;
END
上面的代码是一个应该搜索信息架构的代码段 对于作者和出版商表的可用性, 然后继续在每个表中添加新列(如果存在)。
print语句用于调试目的。当我点击了 GO命令,这是错误信息:
MySQL说:我在做错了什么?我甚至尝试过其他代码作为测试, 所有失败都有同样的错误。代码简单如下:1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近'print'avail ...'; ELSE打印'无用......';万一;结束'在线 7。
BEGIN
IF (6 > 4)
print 'greater';
ELSE
print 'lesser';
END IF;
END
全都失败了。任何帮助将不胜感激。
答案 0 :(得分:0)
'print'
无法识别MySQL
。
如果您想回读输出,只需在SP中使用select
即可。
更改SP的部分内容如下:
DECLARE found_status VARCHAR(255) DEFAULT NULL;
IF ....
SELECT 'specified tables exist...' INTO found_status;
ELSE
SELECT 'specified tables unavailable...' INTO found_status;
END IF;
SELECT found_status;