当我创建这个存储过程时,我没有收到任何错误,并且它被创建得很好。
DELIMITER $$
CREATE DEFINER=`portaluser`@`%` PROCEDURE `sp_CreateDatabaseAndTablesByIdAndName`(
IN p_vendorId VARCHAR(256),
IN p_name VARCHAR(256)
)
BEGIN
SET @db_create = CONCAT('CREATE DATABASE IF NOT EXISTS xx_client_', p_vendorId, '_', p_name);
PREPARE stmt FROM @db_create;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
当我调用此存储过程时,它会创建数据库,但会引发警告:1295 准备好的语句协议尚不支持此命令。
CALL sp_CreateDatabaseAndTablesByVidAndName('11111', 'xx');
我似乎在网上找不到任何地方可以确切地告诉我为什么会引发错误,好像这是一个相当简单的查询。我见过其他人基本上做同样的事情而没有任何问题。我需要第二双眼睛来告诉我哪里出错了。任何帮助表示赞赏。
**注意:我之前已将 p_VendorId 更改为 INT(11) 并按以下方式调用它,但仍然遇到相同的错误:
CALL sp_CreateDatabaseAndTablesByVidAndName(11111, 'xx');