【发布时间】:2019-06-28 21:15:04
【问题描述】:
我是 MySQL 新手,我正在尝试从 SQL Server 移植一些存储过程。我创建了一个在 MySQL 中传递参数的基本存储过程。
存储过程只接受一个参数并根据提供的参数执行“如果存在则删除”。
在 MySQL 中运行时会导致以下错误。
似乎不知何故,将“mytablename”传递到存储过程的参数作为语句的一部分而不是参数执行。
有什么建议吗?
SQL语句:
call mydb.spDroptableifexist('customerdata');
结果:
0 row(s) affected, 1 warning(s): 1051 Unknown table 'mydb.mytablename'
这是存储过程:
USE `mydb`;
DROP procedure IF EXISTS `spDroptableifexist`;
DELIMITER $$
USE `mydb`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `spDroptableifexist`(IN mytablename VARCHAR(255))
BEGIN
drop table if exists mytablename;
END$$
DELIMITER ;
【问题讨论】:
标签: c# mysql stored-procedures parameters