php - MySQL 存储过程忽略 DELETE 语句

标签 php mysql sql stored-procedures procedure

我有这个从 PHP 脚本调用的存储过程。它有几个 select 语句和一个 delete 语句。除了不执行 DELETE 查询外,一切正常。它被忽略了!请帮忙。谢谢

CREATE PROCEDURE `proc_name`(IN id INT, IN type CHAR(50))
DETERMINISTIC
COMMENT 'procedure'
BEGIN 
DECLARE LEGACY_EN_ID INT;
SET IN_ID = id;
SELECT  IF(e.legacy_id > 0, e.legacy_id, 0) INTO LEGACY_EN_ID FROM tablename e WHERE e.id = IN_ID LIMIT 1;

/* Delete record if it exists */
        DELETE
        FROM tablename
        WHERE entityID = LEGACY_EN_ID;

最佳答案

  1. 检查执行存储过程的用户是否有权执行该操作。
  2. 这可以通过使用同一用户直接通过 mysql 命令行连接并尝试执行在存储过程中生成的查询来检查。
  3. 或者创建一个简单的 PHP 脚本并使用 mysql_query 直接调用 delete sql。如果成功,那么您就可以访问了。

关于php - MySQL 存储过程忽略 DELETE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24455635/

相关文章:

php - 检查用户是否登录

php - HTML - 表单提交按钮确认对话框

sql - 关于 Entity Framework 的思考

php - SQLSTATE[HY093]:参数号和 PDO::ATTR_EMULATE_PREPARES 无效

php - 在本地开发 Facebook Canvas 应用程序 -(MAMP、Codeigniter)

Mysql 比较使用 left(X,2) ="AB"或 X like "AB%"的速度?

mysql - 参数 sql false

php - 如何使用PHP像安装包一样部署站点

sql - Postgresql SET DEFAULT value 来自另一个表 SQL

sql - 为什么我的 As400 无法从新创建的成员别名中进行选择?